当前位置: 代码迷 >> Oracle开发 >> 初学者问个SQL有关问题
  详细解决方案

初学者问个SQL有关问题

热度:26   发布时间:2016-04-24 06:36:42.0
菜鸟问个SQL问题

select * from wz_order_tbl where 1=1
and to_date(exp_date,'yyyy-mm') = to_date('2014-08','yyyy-mm') 

这个SQL为什么会报错?



怎么写才能实现我的功能:取表里面的一个字符串类型的数据转换成时间格式然后再进行和时间的比较
------解决思路----------------------
select * from wz_order_tbl where 1=1
and to_char(exp_date,'yyyy-mm') = '2014-08' 

------解决思路----------------------
引用:
select * from wz_order_tbl where 1=1
and to_char(exp_date,'yyyy-mm') = '2014-08' 

他字段数据是字符串类型的,这么写不可以

楼主你字段中字符串的格式是怎样的
你语句中的to_date(exp_date,'yyyy-mm')掩码要和你数据中的格式相对应才可以
------解决思路----------------------
转换中的日期格式须按照数据的真实格式,即‘2014-09-05’ 对应 'yyyy-mm-dd',否则会出现格式不正确的错误。
接着,在进行截取到月份的操作。
  相关解决方案