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
我刚开始也是这样写的但是还是报错,我才改成现在这样的
#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
我刚开始也是这样写的但是还是报错,我才改成现在这样的
#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'