Если 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>