一个oracle 修改语句 一直报错 ORA-00927 大家帮忙看下

时间:2022-09-08 15:37:35

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,谢谢

7 个解决方案

#1



update tableType 
set holiday_end = to_date('2011-12-21','yyyy-MM-dd')
where worker_id='10589'  
and HOLIDAY_TYPE='旷 工'  
and holiday_state='0' 

#2


引用 1 楼 funfenffun 的回复:
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'


我刚开始也是这样写的但是还是报错,我才改成现在这样的

#3


holiday_end 是什么类型  如果是yyyy-MM-dd时间类型  在通过to_date函数就会报错了

--如果是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'

#4


holiday_end 的类型是?

#5


报的什么错?

#6


LZ这么写的话 应该是to_char('2011-12-21','yyyy-MM-dd')这个报错了  to_char函数不能将非时间类型字符串转换成yyyy-MM-dd格式   会报错'无效数字'

#7



--如果是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'

#1



update tableType 
set holiday_end = to_date('2011-12-21','yyyy-MM-dd')
where worker_id='10589'  
and HOLIDAY_TYPE='旷 工'  
and holiday_state='0' 

#2


引用 1 楼 funfenffun 的回复:
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'


我刚开始也是这样写的但是还是报错,我才改成现在这样的

#3


holiday_end 是什么类型  如果是yyyy-MM-dd时间类型  在通过to_date函数就会报错了

--如果是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'

#4


holiday_end 的类型是?

#5


报的什么错?

#6


LZ这么写的话 应该是to_char('2011-12-21','yyyy-MM-dd')这个报错了  to_char函数不能将非时间类型字符串转换成yyyy-MM-dd格式   会报错'无效数字'

#7



--如果是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'