赞
踩
EXTRACT
属于 SQL
的 DML(即数据库管理语言)函数,它主要用于从一个日期或时间型的字段内抽取年、月、日、时、分、秒等数据,函数返回类型为 double precision
的数值。它支持的关健字 YEAR
、MONTH
、DAY
、HOUR
、MINUTE
、SECOND
、WEEKDAY
、YEARDAY
等等。
EXTRACT
使用语法为:
EXTRACT([关键字] from [日期])
// 从当前时间中提取年份 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');
输出结果:
2023-05-20 16:54:53.644833 // 当前时间
2023 // 年
5 // 月
20 // 日
16 // 时
54 // 分
53.644833 // 秒
21 // 世纪
1684601693.644833 // 时间戳,单位:秒
如果我们数据库表中存储的字段类型是TIMESTAMP,但是我们查询结果想返回毫秒时间戳,该如何转换呢?
具体SQL如下:
SELECT FLOOR(EXTRACT(EPOCH FROM TIMESTAMP '2023-05-20 16:54:53.644833') * 1000);
输出结果:
1684601693644
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。