我认为这是因为你的日期距彼此太远,所以他们的间隔'第(4)秒到第二'溢出。
在附加的脚本中我测试差异是否大于一年。如果是,很明显,日期之间的时间间隔大于72小时。否则,我继续小时间隔。年份有8.8k,因此HOUR(4)足够好。
日期有20年的差距
SELECT CASE WHEN EXTRACT (YEAR FROM ((TIMESTAMP '2000-01-01 00:00:00'+ INTERVAL '72' hour) - (TIMESTAMP '2000-01-02 12:00:00'))YEAR(4) TO MONTH ) != 0 THEN '>72 hours'
WHEN EXTRACT (YEAR FROM ((TIMESTAMP '2000-01-01 00:00:00'+ INTERVAL '72' hour) - (TIMESTAMP '2000-01-02 12:00:00'))YEAR(4) TO MONTH ) = 0 THEN
CASE WHEN ((TIMESTAMP '2000-01-01 00:00:00'+ INTERVAL '72' hour) - (TIMESTAMP '2000-01-02 12:00:00'))HOUR(4) < 72 THEN '< 72 hours' END
END
日期为1天的差距
SELECT CASE WHEN EXTRACT (YEAR FROM ((TIMESTAMP '2000-01-01 00:00:00'+ INTERVAL '72' hour) - (TIMESTAMP '2020-01-02 12:00:00'))YEAR(4) TO MONTH ) != 0 THEN '>72 hours'
WHEN EXTRACT (YEAR FROM ((TIMESTAMP '2000-01-01 00:00:00'+ INTERVAL '72' hour) - (TIMESTAMP '2020-01-02 12:00:00'))YEAR(4) TO MONTH ) = 0 THEN
CASE WHEN ((TIMESTAMP '2000-01-01 00:00:00'+ INTERVAL '72' hour) - (TIMESTAMP '2020-01-02 12:00:00'))HOUR(4) < 72 THEN '< 72 hours' END
END
显然,在你的脚本,你将取代时间戳“YYYY-MM-DD