有没有办法只更新日期时间字段中的小时部分?如果没有,如何更新 Oracle 中的时间部分?我试过这个->
update tab_name
set C_Name=to_date('04/03/2012 00:31:00','MM/DD/YYYY HH:MI:SS AM')
where C_Name1=10484;
没有工作,因为我在小时部分更新“00”。
最佳答案
如果我知道我只想更新一部分时间,我可能会将我想要的值转换为字符串,然后再转换回日期。假设我希望 session 记录为“31”:
update tab_name
set C_Name=
to_date(
to_char(C_Name, 'MM/DD/YYYY HH24:"31":SS'),
'MM/DD/YYYY HH24:MI:SS'
)
where C_Name1=10484;
如果您想修改相对于其当前值的时间部分(例如,增加 2 小时或减去 3 秒),那么日期算术有一些选择。 Oracle 文档对这些事情非常有用。
关于oracle10g - 如何仅更新 oracle 中日期时间字段中的 "hour"部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9995472/