我正在寻找SQL脚本(Oracle)的帮助。我需要用条件改变DATE的DAY字段。当DATE是月的最后一天时减少1天,否则增加1天。日期格式为DD-MMM-YY HH:MM:SS AM / PM。
感谢您的帮助!!
答案 0 :(得分:2)
我假设你的日期字段实际上是一个日期或时间戳,因为如果不是你在深狗。
以下是您的操作方法:
update some_table_you_did_not_name
set date_field = case when EXTRACT( month from next_day(date_field)) <> EXTRACT(month from date_field)
then date_field - 1 day
else date_field + 1 day
end
答案 1 :(得分:1)
update the_table
set date_column = case
when trunc(last_day(date_column)) = trunc(date_column)
then date_column - 1
else date_column + 1
end;
trunc()
是必要的,因为Oracle DATE
列包含时间部分。