数据库中的 varchar2 到 日期

select * from 表 where
to_date('2008-11-10','yyyy-MM-dd')<=to_date([color=red]endpromotion[/color],'yyyy-MM-dd')
这样查的时候 报错

endpromotion 在表中是varchar2 型 查出来怎么跟日期内 型比较

endpromotion 是什么意思?
select * from dual
where to_date('2008-11-01','yyyy-MM-dd')<= to_date('2008-11-04','yyyy-MM-dd')

这样执行没有错误的。

把date转变为字符型!

你为什么把date类型搞成varchar2,设计不合理!

你好,使用以下的方式:
select * from dual where to_char(to_date('2008-11-01','yyyy-mm-dd'),'yyyymmdd')<to_char(to_date('2008-11-01','yyyy-mm-dd'),'yyyymmdd')
我进行了测试,没有问题。

对了,你的endpromotion是varchar2,你可以这样写select * from dual where to_char(to_date('2008-11-01','yyyy-mm-dd'),'yyyymmdd')<[i]endpromotion[/i]