当前位置: 代码迷 >> Oracle管理 >> 一个oracle 修改语句 一直报错 ORA-00927 大家帮忙看下,该如何处理
  详细解决方案

一个oracle 修改语句 一直报错 ORA-00927 大家帮忙看下,该如何处理

热度:85   发布时间:2016-04-24 05:43:14.0
一个oracle 修改语句 一直报错 ORA-00927 大家帮忙看下
SQL code
update tableType set to_date(holiday_end,'yyyy-MM-dd') = to_date(to_char('2011-12-21','yyyy-MM-dd'),'yyyy-MM-dd')where worker_id='10589'  and HOLIDAY_TYPE='旷 工'  and holiday_state='0' 


大家帮忙看下 该怎么修改 sql,谢谢

------解决方案--------------------
SQL code
update tableType set holiday_end = to_date('2011-12-21','yyyy-MM-dd')where worker_id='10589'  and HOLIDAY_TYPE='旷 工'  and holiday_state='0'
------解决方案--------------------
holiday_end 是什么类型 如果是yyyy-MM-dd时间类型 在通过to_date函数就会报错了
SQL code
--如果是date类型update tableType set holiday_end = to_date('2011-12-21','yyyy-MM-dd')where worker_id='10589'  and HOLIDAY_TYPE='旷 工'  and holiday_state='0' --如果是字符串类型update tableType set to_date(holiday_end,'yyyy-MM-dd') = to_date('2011-12-21','yyyy-MM-dd')where worker_id='10589'  and HOLIDAY_TYPE='旷 工'  and holiday_state='0'
------解决方案--------------------
holiday_end 的类型是?
------解决方案--------------------
报的什么错?
------解决方案--------------------
LZ这么写的话 应该是to_char('2011-12-21','yyyy-MM-dd')这个报错了 to_char函数不能将非时间类型字符串转换成yyyy-MM-dd格式 会报错'无效数字'
------解决方案--------------------
SQL code
--如果是varchar2,这样写吧,不过应该是date吧,用varchar2很奇怪update tableType set holiday_end,'yyyy-MM-dd' = '2011-12-21'where worker_id='10589'  and HOLIDAY_TYPE='旷 工'  and holiday_state='0'
  相关解决方案