我有以下格式的字符串格式的datetime变量:
01-04-2020 11:50:44:569
01-03-2020 12:50:44:589
01-03-2020 01:50:44:579
如何提取日期部分并选择日期范围?
我尝试使用:
cast(substring(value,1,10) as date) as date1
date1 between '2020-01-01' and '2020-01-05'
但它返回0条记录。
但是,此代码以以下格式处理datetime字符串值:
2020-01-03T11:50:24:529Z
它将提取日期部分并将其存储为时间戳并提取该范围内的记录,但不适用于第一个示例。
我只是想找到一种将字符串值转换为日期值的方法,我无意混淆任何人。至于样本数据集,我认为带有3条记录的问题的第一部分应该足以进行测试,因为同一变量下的所有值都采用相同的格式。
我想我知道了:
cast(to_date((FROM_UNIXTIME(UNIX_TIMESTAMP(value, "MM-dd-yyyy HH:mm:ss:SSS"), "yyyy-MM-dd HH:mm:ss.SSS"))) as date) as date1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句