1 回答

TA貢獻1876條經驗 獲得超6個贊
如果END_DT列的數據類型是DATE,那么您的查詢將起作用。看來不是,而是VARCHAR2。如果是這樣,您必須TO_DATE使用適當的格式掩碼對其應用功能才能使其正常工作。例如:
select * From my_records
where to_date(substr(end_dt, 1, 9), 'dd-mon-yy') > sysdate
30-DEC-18 12.00.00.000000000 AM
---------
this makes SUBSTR(end_dt, 1, 9), and its format mask is dd-mon-yy
[編輯]
你說它的數據類型是時間戳。如果是,那么您的查詢將起作用??纯催@個例子:
SQL> create table test (end_dt timestamp);
Table created.
SQL> insert into test values (systimestamp);
1 row created.
SQL> select * From test where end_dt < sysdate;
END_DT
----------------------------------------------------
02.02.19 20:42:08,375000
SQL>
你能驗證它真的是TIMESTAMP(不是看起來像,而是真的是)。通過運行 DESC 命令來做到這一點:
SQL> desc test
Name Null? Type
----------------------------------------- -------- ---------------
END_DT TIMESTAMP(6)
SQL>
添加回答
舉報