我在一个表中有两个日期列Say date1和date2,我想找到这两列的差异和结果的值,想与大于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
你说它们是日期,但后来
类似于+00 00:05:00.0000000的结果
这是一个区间;这意味着这些列是时间戳,而不是日期。因此,您也可以使用区间进行比较:
select date1 - date2
from XYZ
where date1 - date2 > interval '5' minute
db<gt;小提琴演示
两个DATE
数据类型值的差异(这就是您所写的(是它们之间的天数,因此您必须"转换";到分钟:
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_table