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

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)

相关文章:

  • npm运行Vue项目报错 error:0308010c:digital envelope routines::unsupported
  • 新用户冷启动阶段使用的推荐算法策略
  • 小红书图文笔记批量制作
  • C#上位机--基本数据类型
  • NoSQL数据库-体系框架
  • Android 系统Service流程
  • 使用 Python 爬虫获取微店商品详情 API 接口数据
  • 太速科技-509-U200E U250E 基于XCVU9P的4路QSFP28光纤PCIeX16收发卡
  • 2100年芜湖人的一天:张明的生活剪影
  • 【Leetcode 每日一题 - 扩展】2517. 礼盒的最大甜蜜度
  • pgAdmin 4 启动 PSQL Tool
  • Android车机DIY开发之软件篇(十六)编译forlinx i.mx8mplus Android
  • 【进阶】Java并发编程超详讲解!!!
  • The First项目报告:探索比特币质押协议Solv Protocol
  • Postman如何流畅使用DeepSeek
  • 【开源免费】基于SpringBoot+Vue.JS中国陕西民俗网站(JAVA毕业设计)
  • 多模态本地部署和ollama部署Llama-Vision实现视觉问答
  • 【Spring Boot】Spring 魔法世界:Bean 作用域与生命周期的奇妙之旅
  • 上下文编辑器在不同场景下的功能(含使用案例)
  • LeetCode--146. LRU 缓存【Golang中的list】
  • 司法部谈民营经济促进法:对违规异地执法问题作出禁止性规定
  • 现场|万米云端,遇见上博
  • 詹丹|高考语文阅读题设计和答案拟制的一些缺憾
  • 印度导弹凌晨打击巴基斯坦多座设施,巴总理:正对战争行为作有力回应
  • 科技赋能文化体验,“五一”假期“海昏侯”人气创新高
  • 证券时报头版:巴菲特留给投资界的珍贵启示