3

我必须查询日期和时间的更新。我知道如何单独更新日期,但在将时间添加到函数时遇到了麻烦。现在,就目前而言,它显示为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'
4

3 回答 3

8

SQL 日期格式是出了名的挑剔,要求您使用TO_DATE 来确保将日期的字符串表示形式转换为 Oracle DATE 数据类型

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'
于 2011-05-10T04:57:00.440 回答
1

你有没有尝试过?

update cxadmin.ro_hist
set recv_date = '4/21/2011 07:00:00 AM'
where recv_serial_nbr ='SABTSMSSD'
于 2011-05-10T01:16:45.750 回答
-1

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

于 2015-08-07T14:59:56.797 回答