GAUSSDB日期获取

日期获取

仅供参考:

--获取年月
--2020-07
select  to_char('2020-07-01 12:55:00'::TIMESTAMP,'yyyy-mm');

--获取年月日
--2020-07-01
select  to_char('2020-07-01 12:55:00'::TIMESTAMP,'yyyy-mm-dd');

--获取当前月份
--7.0
select extract(month from '2020-07-01 12:55:00'::TIMESTAMP);
or
select extract(month from now());

--获取下月的月份
--8.0
select extract(month from now() + INTERVAL '1 month');

--获取月份,如果需求中有每月1号也需要获取上月的月份,则用以下sql
select extract(month from '2020-07-01 12:55:00'::TIMESTAMP - INTERVAL '1 DAY');

--获取本月第一天
--2020-07-01 00:00:00+08
select date_trunc('month',now());

--获取当天:
----2020-07-07 00:00:00
select trunc(now());

--获取本月最后一天
select date_trunc('month',current_date) + interval '1 month -1 day';
or
select (date_trunc('month',now()) + interval '1 month - 1 day') ::date;

--获取上月最后一天
select date_trunc('month',current_date) - interval '1 day';
or
select to_char(date_trunc('month','2020-07-01 12:55:00'::TIMESTAMP ) - interval '1 day','yyyy-mm-dd');

--获取上年最后一天
select to_char(date_trunc('year','2020-07-01 12:55:00'::TIMESTAMP ) - interval '1 day','yyyy-mm-dd');




--获取前n个月日期
--当前时间为2020-10-09,需要获取2020-08-01的日期及时间
select date_trunc('month',current_date) - interval '2 month' ;

--若当前时间为2020-10-01,则需要获取2020-07-01的日期及时间;若当前时间为2020-10-02,则需要获取2020-08-01的日期及时间
select date_trunc('month',trunc('2020-07-01 00:00:00'::TIMESTAMP  -1)) - interval '2 month' ;
select date_trunc('month',trunc(sysdate  -1)) - interval '2 month' ;


--获取当前时间为一年中的第多少天
select extract(DOY from now());

总结

在项目中的总结,仅供参考。

你可能感兴趣的:(gaussdb)