有没有办法只更新DateTime字段中的Hour部分?如果没有,我如何更新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'。
答案 0 :(得分:3)
如果我知道我只想更新一部分时间,我可能会在适当的位置转换为具有我想要的值的字符串,然后转换回日期。说我希望会议记录为“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秒),那么日期arithemtic有一些选择。 Oracle文档非常适合这些事情。