报错环境如下:
表结构:
create table table1
(
ID VARCHAR2(32) not null,
DATE_COL VARCHAR2(20)
)
表中数据:
ID DATE_COL
1 2010-07-01
2 11
3 22
查询sql:SELECT * FROM table1 where DATE_COL >= TO_DATE('2010-07-01', 'yyyy-mm-dd')
解决方法:
修改语句:SELECT * FROM table1 where TO_DATE(DATE_COL, 'yyyy-mm-dd') >= TO_DATE('2010-07-01', 'yyyy-mm-dd')
问题原因:可能是将VARCHAR2型直接做为日期型数据做比较造成的