hive中字符串类型的日期

问题: hive 时间字段一般定义为string类型 (例如dt)

当我们比较事习惯写成 dt> ‘2018-12-27’ 也能找到 相应的内容

今天细想了一下

原来是string 的比较大小也能实现 装换成时间后再比较的效果 (以前都是用,突然想明白记录下自己以前不好行为)

原理:字段‘dt’是string类型,那么比较应该是按照string比的,但是该字段的format可以支持类似于日期的比较,因为年在前,月在当中,日在最后。这样按照字符串比较的规则(字典排序比较),从前往后,第一个不同的字符即决定两个字符串的大小。所以年份小的,一定小,年份相同月份小的,一定小,年月都相同,日期小的一定小。
如果你的字段是timestamp类型,则字符串会自动转换成timestamp比较

猜你喜欢

转载自blog.csdn.net/weixin_40809627/article/details/85699185
今日推荐