我正在使用日期偏移量,并且试图“破解”以下日期函数
now() - interval '12 month'
我想创建一个可变的偏移量,而不是使用此偏移量,根据当前月份将月份添加到偏移量中。我创建了以下SQL:
SELECT now() ||' - interval ' ||
case when to_char(now(),'MON') in('FEB','MAY','AUG','NOV') then 0
when to_char(now(),'MON') in('MAR','JUN','SEP','DEC') then 1
when to_char(now(),'MON') in('JAN','APR','JUL','OCT') then 2
ELSE null END + 12 || ' month' TIME_OFFSET;
运行此命令时,将得到以下输出。
TIME_OFFSET
2019-06-21 11:15:21 - interval 13 month
我试图让它运行我创建的功能以提供以下输出
2018-05-21 11:15:21
我如何获得退货?我需要更改什么?
答案 0 :(得分:0)
只是想通了。
使用以下内容:
select add_months(now(), (-1 *
case when to_char(now(),'MON') in('FEB','MAY','AUG','NOV') then 2
when to_char(now(),'MON') in('MAR','JUN','SEP','DEC') then 0
when to_char(now(),'MON') in('JAN','APR','JUL','OCT') then 1
ELSE null END) -12);
给你:
ADD_MONTHS
2018-06-21 16:10:52