当前位置:   article > 正文

PostgreSQL EXTRACT 日期函数_pgsql extract

pgsql extract


EXTRACT函数

EXTRACT 属于 SQL 的 DML(即数据库管理语言)函数,它主要用于从一个日期或时间型的字段内抽取年、月、日、时、分、秒等数据,函数返回类型为 double precision 的数值。它支持的关健字 YEARMONTHDAYHOURMINUTESECONDWEEKDAYYEARDAY 等等。


EXTRACT 使用语法为:

EXTRACT([关键字] from [日期])
  • 1

示例说明

// 从当前时间中提取年份
SELECT EXTRACT(YEAR FROM TIMESTAMP '2023-05-20 16:54:53.644833');    

// 从当前时间中提取月份   
SELECT EXTRACT(MONTH FROM TIMESTAMP '2023-05-20 16:54:53.644833'); 

// 从当前时间中提取天     
SELECT EXTRACT(DAY FROM TIMESTAMP '2023-05-20 16:54:53.644833');    

// 从当前时间中提取小时    
SELECT EXTRACT(HOUR FROM TIMESTAMP '2023-05-20 16:54:53.644833');     

// 从当前时间中提取分钟  
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2023-05-20 16:54:53.644833');     

// 从当前时间中提取秒
SELECT EXTRACT(SECOND FROM TIMESTAMP '2023-05-20 16:54:53.644833');     

// 从当前时间中提取世纪
SELECT EXTRACT(CENTURY FROM TIMESTAMP '2023-05-20 16:54:53.644833');    

// 从当前时间中提取时间戳,单位:秒
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2023-05-20 16:54:53.644833');      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

输出结果:

2023-05-20 16:54:53.644833             // 当前时间
2023                                   // 年
5                                      // 月
20                                     // 日
16                                     // 时
54                                     // 分
53.644833                              // 秒
21                                     // 世纪
1684601693.644833                      // 时间戳,单位:秒
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

TIMESTAMP 转毫秒时间戳

如果我们数据库表中存储的字段类型是TIMESTAMP,但是我们查询结果想返回毫秒时间戳,该如何转换呢?

具体SQL如下:

SELECT FLOOR(EXTRACT(EPOCH FROM TIMESTAMP '2023-05-20 16:54:53.644833') * 1000);
  • 1

输出结果:

1684601693644
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/406389
推荐阅读
相关标签
  

闽ICP备14008679号