postgresql 您要的日期查询都在这

avatar
作者
猴君
阅读量:0

文章目录


1、获取当前日期

select now(); 

在这里插入图片描述

select current_timestamp; 

在这里插入图片描述
返回值均是当前年月日、时分秒,且秒保留6位小数,两种方式等价

select current_time; 

在这里插入图片描述
返回值:时分秒,秒最高精确到6位

select current_date; 

在这里插入图片描述
返回值:年月日

2、查询今天的数据

SELECT * FROM 表名 WHERE 时间字段 >= current_date AND 时间字段 < current_date + 1; 

3、查询昨天的数据

SELECT * FROM 表名 WHERE 时间字段 >= current_date - 1 AND 时间字段 < current_date; 

4、查询一个月内的数据

SELECT * FROM 表名 WHERE 时间字段 >= current_date - interval '1 month' AND 时间字段 <= current_date; 

5、按日, 周, 月, 季度, 年统计数据

select date_trunc('DAY', 时间字段) as statisticTime, 分组字段, count(0) from 表名 GROUP BY date_trunc('DAY', 时间字段), 分组字段 

日: DAY; 周: WEEK; 月: MONTH; 季度: QUARTER; 年: YEAR

6、 查询昨天、上周、上月、上年的日期

select to_char( now() - interval '1 day','yyyy-mm-dd'); select to_char( now() - interval '1 week','yyyy-mm-dd hh:mi:ss'); select to_char( now() - interval '1 month','yyyy-mm-dd'); select to_char( now() - interval '1 year','yyyy-mm-dd'); 

7、查询今天、今月、今年的开始的日期时间

select date_trunc('year', now()) select date_trunc('month', now()) select date_trunc('day', now()) select date_trunc('hour', now()) select date_trunc('minute', now()) select date_trunc('second', now()) 

8、查询最近1秒,1分,1小时,1天,1周(7天),1月,1年的记录

select * from 表名 where timestamp_start >= current_timestamp - interval ' 1 seconds ' select * from 表名 where timestamp_start >= current_timestamp - interval ' 1 minutes' select * from 表名 where timestamp_start >= current_timestamp - interval ' 1 hours' select * from 表名 where timestamp_start >= current_timestamp - interval ' 1 day' select * from 表名 where timestamp_start >= current_timestamp - interval ' 7 day' select * from 表名 where timestamp_start >= current_timestamp - interval ' 1 month' select * from 表名 where timestamp_start >= current_timestamp - interval ' 1 year' 

9、从时间戳中提取 年月日时分秒、周

select date_part('year', timestamp '2024-02-16 12:38:40') select date_part('month', timestamp '2024-02-16 12:38:40') select date_part('day', timestamp '2024-02-16 12:38:40') select date_part('hour', timestamp '2024-02-16 12:38:40') select date_part('minute', timestamp '2024-02-16 12:38:40') select date_part('second', timestamp '2024-02-16 12:38:40') select date_part('week', timestamp '2024-02-16 12:38:40') 

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!