当前位置: 首页 > news >正文

【PGSQL】date_trunc 函数

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';这些查询将返回截断到指定单位的日期或时间戳。

相关文章:

  • 【导航】繁星学习随想录
  • 了解Vue中日历插件Fullcalendar
  • Elasticsearch 分布式架构剖析及扩展性优化
  • 初识计算机图形学
  • openssl3.2 - 官方demo学习 - mac - poly1305.c
  • CSS 设置背景图片
  • 【JavaEE】网络原理:网络中的一些基本概念
  • AI+量化02_金融市场的基础概念
  • 蓝桥oj3272小蓝的漆房
  • 【SpringCloud】微服务框架后端部署详细过程记录20240119
  • Unity - transform使用
  • C++核心编程
  • unity webgl 系列(2):从webgl内存中下载文件到本地硬盘
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能(C#)
  • 有线桥接|Wifi隔了一堵墙就没信号?房间的网线口利用起来,让房间死角也有网!
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • Cumulo 的 ClojureScript 模块已经成型
  • JavaScript 基本功--面试宝典
  • Laravel Mix运行时关于es2015报错解决方案
  • LeetCode算法系列_0891_子序列宽度之和
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • SpriteKit 技巧之添加背景图片
  • Vue 2.3、2.4 知识点小结
  • Web Storage相关
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 基于遗传算法的优化问题求解
  • 简单实现一个textarea自适应高度
  • 前端技术周刊 2019-02-11 Serverless
  • 如何设计一个比特币钱包服务
  • 实现简单的正则表达式引擎
  • 思否第一天
  • 我建了一个叫Hello World的项目
  • 译有关态射的一切
  • 自定义函数
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 阿里云ACE认证学习知识点梳理
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​香农与信息论三大定律
  • # include “ “ 和 # include < >两者的区别
  • (1)bark-ml
  • (70min)字节暑假实习二面(已挂)
  • (C++17) std算法之执行策略 execution
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (二)正点原子I.MX6ULL u-boot移植
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (转)关于多人操作数据的处理策略
  • (转)我也是一只IT小小鸟
  • .gitattributes 文件
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NetCore部署微服务(二)
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .py文件应该怎样打开?
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)