pg_sql关于时间的函数

1、时间戳和日期之间的相互转换

时间戳转日期(时间戳为数值类型,若为字符型需进行转换)

复制代码
# 保留到秒:2025-10-02 04:46:40 (字符型转换数值型)
select to_timestamp('1759351600'::bigint)

# 保留到日:2025-10-02
select date(to_timestamp(1759351600))

# 自定义格式:2025/10/02
to_char(to_timestamp(1759351600),'YYYY/mm/dd')

2、interval

作用:实现时间日期的加减

格式:日期 +/- interval '加减值'

复制代码
# 前一天
select current_date - interval '1 day'

# 后一周
select current_date + interval '1 week'

# 前一月
select current_date - interval '1 month'

# 后一年
select current_date + interval '1 year'

3、date_trunc

作用:获取日期对应参数的起始

格式:date_trunc(('参数',日期))

复制代码
# 获取年第一天
select date_trunc('year',now())

# 获取年最后一天(获取下一年的第一天后减一天)
select date_trunc('year',now() + interval '1 year') - interval '1 day'

# 获取季第一天
select date_trunc('quarter',now())

# 获取季最后一天
select date_trunc('quarter',now() + interval '3 month') - interval '1 day'

# 获取月第一天
select date_trunc('month',now())

# 获取月最后一天
select date_trunc('month',now() + interval '1 month') - interval '1 day'

# 获取周第一天
select date_trunc('week',now())

# 获取周最后一天
select date_trunc('week',now() + interval '1 week') - interval '1 day'

计算类:

剩余时间

复制代码
# 周
select date_trunc('week',now() + interval '1 week') - now()

# 月
select date_trunc('month',now() + interval '1 month') - now()

# 季
select date_trunc('quarter',now() + interval '3 month') - now()

# 年
select date_trunc('year',now() + interval '1 year') - now()

剩余天数

复制代码
# 周
select date_trunc('week',current_date + interval '1 week') - interval '1 day' - current_date 

# 月
select date_trunc('month',current_date  + interval '1 month') - interval '1 day' - current_date 

# 季
select date_trunc('quarter',current_date  + interval '3 month') - interval '1 day' - current_date 

# 年
select date_trunc('year',current_date  + interval '1 year') - interval '1 day' - current_date 

4、date_part

作用:获取日期对应的参数是当前年的第几(周、月、季)

格式:date_part('参数',日期)

复制代码
# 获取当前时间是第几天
select date_part('day',now())

# 获取当前时间是第几周
select date_part('week',now())

# 获取当前时间是第几月
select date_part('month',now())

# 获取当前时间是第几季
select date_part('quarter',now())

5.extract

作用:提取时间中某些内容(可以实现和date_part类似功能)

格式:extract(提取值from时间)

复制代码
# 天
select extract(day from current_date)

# 月
select extract(month from current_date)

# 年
select extract(year from current_date)

# 周
select extract(week from current_date)

# 季
select extract(quarter from current_date)
相关推荐
z123456789869 分钟前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD12 分钟前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
TlSfoward1 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记1 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
LabVIEW开发2 小时前
NI Package Manager安装LabVIEW时InternalServerError错误
网络·数据库·labview·labview知识·labview功能·labview程序
SelectDB2 小时前
PostgreSQL 实时同步到 Apache Doris:一站式 CDC 解决方案
数据库
Database_Cool_2 小时前
AI Agent 长期记忆怎么存?阿里云 PolarDB-X 对接 Mem0 记忆框架实践
数据库·阿里云
会编程的土豆3 小时前
数据库范式
数据库·oracle
L1624763 小时前
MySQL 全环境生产快速安装 + 完整配置手册(整合国产银河麒麟适配 + 主从补充版)
数据库·mysql
yio_yin3 小时前
Spring事务管理(数据一致性)
数据库·sql·spring