日期获取
仅供参考:
--获取年月
--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());
总结
在项目中的总结,仅供参考。
版权声明:本文为XIAOHUI_ID原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。