我在一个表中有两个日期列,分别是date1和date2,我想找出这两个列和值的差异b/w,想要与大于5分钟的值进行比较
例如:
Select date1-date2 from XYZ // Result of this something like +00 00:05:00.000000
where date1 - date2 is greater than 5 mins上面的查询在语法上是不正确的,写了我想要存档的内容
有人能帮帮我吗?
谢谢Pramod
发布于 2021-06-23 18:01:07
你说他们是约会,但后来
结果类似于+00 00:05:00.000000
这是一个时间间隔;这意味着这些列是时间戳,而不是日期。因此,您也可以使用间隔进行比较:
select date1 - date2
from XYZ
where date1 - date2 > interval '5' minute发布于 2021-06-23 17:17:53
两个分钟数据类型值的差异(这就是您所写的)是它们之间的分钟数,因此您必须将其“转换”为:
select (date1 - date2) * (24 * 60) number_of_minutes
from your_table(24 * 60是因为小时有60分钟,而天有24小时)。
因此,您应该检查
select case when (date1 - date2) * (24 * 60) > 5 then 'More than 5 minutes'
else 'Some other message'
end as result
from your_tablehttps://stackoverflow.com/questions/68096681
复制相似问题