oracle sql 计算时间时,日期时间相减乘 24 计算出的结果精度有问题

SELECT 1 FROM DUAL WHERE (TO_DATE(‘2019-02-14 17:00’,‘YYYY-MM-DD HH24:MI’)
-TO_DATE(‘2019-02-14 16:00’,‘YYYY-MM-DD HH24:MI’))*24 =1;
SELECT 1 FROM DUAL WHERE (TO_DATE(‘2019-02-14 19:30’,‘YYYY-MM-DD HH24:MI’)
-TO_DATE(‘2019-02-14 19:00’,‘YYYY-MM-DD HH24:MI’))*24=0.5;
第一条语句能有结果但是第二条语句 不能有结果 .目前不知道什么问题.
在使用Oracle SQL进行时间计算时,通过日期时间相减再乘以24的方法来获取小时数,发现精度存在误差。具体表现为整小时计算正确,但半小时计算却返回错误结果,这可能与Oracle内部的时间存储和计算方式有关。
1190

被折叠的 条评论
为什么被折叠?



