为了账号安全,请及时绑定邮箱和手机立即绑定

hive中字符串类型的日期为什么能够进行比较?

hive中字符串类型的日期为什么能够进行比较?

繁华开满天机 2018-07-16 15:25:05
 where import_date_day >= '2018-06-08'        and import_date_day <= '2018-06-14'例如上面的这种,我的字段date_day是string类型的,只不过里面内容写的是2018-06-08这种格式,为什么在sql中居然能按时间长短进行比较这个不是我写的,我测试的时候发现真的能,8号之前的为false,之后为true,这么神奇么?

1 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

如果你的字段‘import_date_day’是string类型,那么比较应该是按照string比的,但是该字段的format可以支持类似于日期的比较,因为年在前,月在当中,日在最后。这样按照字符串比较的规则,从前往后,第一个不同的字符即决定两个字符串的大小。所以年份小的,一定小,年份相同月份小的,一定小,年月都相同,日期小的一定小。

如果你的字段是timestamp类型,则字符串会自动转换成timestamp比较。


查看完整回答
反对 回复 2018-07-25

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号