数据库:甲骨文
简化版:
表T有一列:D(日期类型)
现在桌子是空的。
INSERT INTO T
(D) VALUES (sysdate);
现在该表有一行包含 22-AUG-14。
为什么以下 WHERE 子句为假?
SELECT * FROM T
WHERE D = sysdate;
=> 0 行
以下查询有效:
SELECT * FROM T
WHERE TO_CHAR(D, 'DD/MM/YYYY') = TO_CHAR(sysdate, 'DD/MM/YYYY');
=> 1 行
我想存在与时间相关的“精度损失”(类似于 double & int),但为什么可能呢?因为这两种类型都是 DATE。