postgresql 您要的日期查询都在这

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')
  • 27
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gis分享者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值