【发布时间】:2016-12-07 10:53:46
【问题描述】:
我有这个 sql 查询,它在 2016 年 12 月 7 日 之前检索记录,问题是,oracle 返回 2016 年 12 月 6 日及以下的记录。请问这是正确的行为吗?
SELECT DISTINCT ACCOUNT_NO
FROM TBL_CLIENT_FINANCIAL_ACTIVITY cfa
WHERE CAST(tran_date as DATE) <= TO_DATE('12/07/2016');
【问题讨论】:
-
做
SELECT ACCOUNT_NO, tran_date FROM ...。结果正确吗? -
是的。它确实反映了正确的结果。问题在于日期比较。
-
将
CAST(tran_date as DATE)和TO_DATE('12/07/2016')从 WHERE 移动到选择列表。会发生什么? -
澄清一下:您是说排除了确切的日期 12/07/2016,就好像您写的是
<而不是<=? -
输出相同的结果。
标签: sql oracle date comparison