我如何批量更新日期和时间?

时间:2011-05-10 00:59:57

标签: sql oracle date-arithmetic ora-01830

我必须查询日期和时间的更新。我知道如何单独更新日期,但是我在为函数添加时间方面遇到了麻烦。现在,就目前而言,它是4/20/2011 1:32:07 PM。我需要recv_date字段来阅读4/21/2011 7:00:00 AM

到目前为止,我的查询是:

UPDATE cxadmin.ro_hist
   SET recv_date = '4/21/2011'
 WHERE recv_serial_nbr = 'SABTSMSSD'

3 个答案:

答案 0 :(得分:8)

SQL日期格式非常挑剔,要求您使用TO_DATE to ensure that a string representation of a date is converted to an Oracle DATE data type

UPDATE cxadmin.ro_hist
   SET recv_date = TO_DATE('4/21/2011', 'MM/DD/YYYY')
 WHERE recv_serial_nbr = 'SABTSMSSD'

您的示例不包含时间部分:

UPDATE cxadmin.ro_hist
   SET recv_date = TO_DATE('4/21/2011 7:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
 WHERE recv_serial_nbr = 'SABTSMSSD'

答案 1 :(得分:1)

你试过吗?

update cxadmin.ro_hist
set recv_date = '4/21/2011 07:00:00 AM'
where recv_serial_nbr ='SABTSMSSD'

答案 2 :(得分:-1)

使用to_timestamp('4/21/2011 7:00:00 AM','MM / DD / YYYY HH:MI:SS AM')而不是TO_DATE