你好杰米 2018-06-19 01:09 采纳率: 88.9%
浏览 5345
已采纳

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

 where import_date_day >= '2018-06-08'  
     and import_date_day <= '2018-06-14' 

例如上面的这种,我的字段date_day是string类型的,只不过里面内容写的是2018-06-08这种格式,为什么在sql中居然能按时间长短进行比较
这个不是我写的,我测试的时候发现真的能,8号之前的为false,之后为true,这么神奇么?

  • 写回答

5条回答 默认 最新

  • 书香门第 2018-06-19 01:50
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 内网办公电脑进行向日葵远程
  • ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
  • ¥50 WPF Lidgren.Network.Core2连接问题
  • ¥15 soildworks装配体的尺寸问题
  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建