一、问题起源:
需要查找一个字图,时间差值要求在一定的范围内,10分钟或者1个小时,即需要加一个where约束条件进行时间的阈值计算,从参考手册来看,并不存在相应的说明?
二、解决方案:
假设一、可不可以直接转换成时间类型,然后用加减乘除就可以计算时间减值呢?
直接用减法:
return Time("01:02:13") - Time("01:01:13");失败
return DateTime("2021-01-01T01:02:13") - DateTime("2021-01-01T01:01:13");失败
return Date("2021-01-01") - Date("2021-02-01");成功
如果要计算差值的粒度低于天,则无法满足要求。
假设二、是否可以转换成时间戳然后计算差值呢?
return Timestamp("2021-01-01T01:02:13") - Timestamp("2021-01-01T01:01:13")
结果输出:
60
可以达到预期;输出单位为秒。
三、结论
1、无法直接使用相应的数据数据进行加减乘除的计算来得到时间差值。
2、可以通过转换成时间戳的方式来计算时间差值,进而解决问题。