SELECT DPT_DT FROM TEST WHERE to_date(DPT_DT,'dd-MM-yyyy') <= to_date(add_months(sysdate,-6),'dd-MM-yyyy') 如上sql文,其中有一条记录DPT_DT字段(date类型)的数据为2008-02-10、但问题是查不到该数据!?!如果我把to_date函数去掉,如下sql文就能查到!
SELECT DPT_DT FROM TEST WHERE DPT_DT <= add_months(sysdate,-6)
而且最上面的sql文我在另外一个电脑的数据库中试却好用,请问这是为什么????
SELECT DPT_DT FROM TEST WHERE DPT_DT <= add_months(sysdate,-6)
而且最上面的sql文我在另外一个电脑的数据库中试却好用,请问这是为什么????
如果是第一个句子,应该用to_char比较SELECT DPT_DT FROM TEST
WHERE to_char(DPT_DT,'yyyy-MM-dd') <= to_date(add_months(sysdate,-6),'yyyy-MM-dd')
对你来说,SELECT DPT_DT FROM TEST WHERE DPT_DT <= add_months(sysdate,-6)是正确的引用;