【PGSQL】date_trunc 函数

这篇文章详细介绍了PostgreSQL中的date_trunc函数,用于将日期或时间戳精确到指定的时间单位,如分钟、小时、天、月等,提供了一系列SQL示例来展示如何使用这个功能。
摘要由CSDN通过智能技术生成

date_trunc 函数用于在 PostgreSQL 中将日期或时间戳值截断(向下取整)到指定的精度级别。当您想要忽略较小的时间单位(例如,小时、分钟、秒),专注于较大的单位(例如,天、月、年)时,该函数非常有用。date_trunc 的语法如下:

date_trunc(unit, source);

  • unit:指定要将源值截断到的时间单位。可以是以下之一:
    • 'microseconds'(微秒)
    • 'milliseconds'(毫秒)
    • 'second''seconds'(秒)
    • 'minute''minutes'(分钟)
    • 'hour''hours'(小时)
    • 'day''days'(天)
    • 'week''weeks'(周)
    • 'month''months'(月)
    • 'quarter''quarters'(季度)
    • 'year''years'(年)

通过指定 unit,您可以将 source 的值截断到所需的时间精度。以下是一些示例:

-- 将时间戳截断到分钟
SELECT date_trunc('minute', current_timestamp);
-- 2024-01-17 08:08:00
--
-- 将时间戳截断到小时
SELECT date_trunc('hour', current_timestamp);
-- 2024-01-17 08:00:00
--
-- 将时间戳截断到天
SELECT date_trunc('day', current_timestamp);
-- 2024-01-17 00:00:00
--
-- 将时间戳截断到月
SELECT date_trunc('month', TIMESTAMP '2024-02-16 14:32:45');
-- 2024-02-01 00:00:00
--
-- 将时间戳截断到年
SELECT date_trunc('year', TIMESTAMP '2024-02-16 14:32:45');
-- 2024-01-01 00:00:00
--
-- 一天开始
SELECT date_trunc('day', current_timestamp);
--
-- 一天结束
SELECT date_trunc('day', current_timestamp) + INTERVAL '1 day' - interval '1 second';

这些查询将返回截断到指定单位的日期或时间戳。
  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值