我正在尝试生成两个时间戳之间的天数,作为精确的小数。
我的代码生成 ORA-01873: 间隔的前导精度太小
这一行似乎是罪魁祸首。
当我删除这一行时,查询再次开始工作。
SELECT
...
EXTRACT(DAY FROM 24*60*60*(ssts.TIMESTAMP - MAX(pssts.TIMESTAMP)))/(24*60*60) AS DAYS_SINCE_PREV_TIMESTAMP,
...
FROM ...
有什么问题吗?
上周运行良好。
最佳答案
两个时间戳之间的差异将产生间隔,即日到秒。
如果您想要精确的小数,那么您可以使用日期数据类型来实现。
Select
...
cast(ssts.TIMESTAMP as date) - cast(MAX(pssts.TIMESTAMP) as date)
...
查看此db<>fiddle时间戳和日期差异的演示。
干杯!!
关于sql - 计算两个时间戳之间的差异时出现ORA-01873,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59258926/