日期加一天,四种写法,减一天换成减法-
SELECT now() + integer '1'
SELECT date '2023-06-08' + integer '1'
SELECT timestamp '2023-06-08' + integer '1'
select '2023-06-08' ::date + interval '1 day'
日期加减一周,
select '2023-06-08' ::date + interval '1 week'
select '2023-06-08' ::date - interval '1 week'
日期加一月
select '2023-06-08' ::date + interval '1 month'
select '2023-06-08' ::date - interval '1 month'
SELECT add_months(to_date('2023-06-08', 'yyyy-mm-dd'), 12)
日期加一年
select '2023-06-08' ::date + interval '1 year'
select '2023-06-08' ::date - interval '1 year'
日期加小时
SELECT date '2023-06-08' + time '03:00'
日期加天加小时价秒
SELECT date '2023-06-08' + interval '1 day' + interval '1 hour' + interval '1 second'
日期相减
SELECT date '2023-06-08' - date '2023-05-08'
获取当月最后一天
select last_day(to_date('2023-06-08', 'YYYY-MM-DD'))
当月第一天,自己计算
select last_day(last_day(to_date('2023-06-08', 'YYYY-MM-DD')) - interval '1 month') + interval '1 day' ;
获取下周几的日期
select next_day(timestamp '2023-06-08 00:00:00','Sunday')
select next_day(timestamp '2023-06-08 00:00:00','Monday')
扩展
获取当前周一的日期
select next_day(timestamp '2023-06-08 00:00:00','Monday') - integer '7'