extract
EXTRACT 函数是 PostgreSQL 中用于从日期和时间类型中提取特定部分(如年、月、日、小时等)的函数。
格式
EXTRACT(field FROM source)
-- field 参数是要提取的部分,例如 YEAR、MONTH、DAY、HOUR 等。
-- source 参数是包含日期或时间的表达式。
示例
例如,要从当前日期时间中提取年\月\日\,可以使用以下查询:
SELECT
EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS current_year,
EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS current_month,
EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS current_day,
EXTRACT(HOUR FROM CURRENT_TIMESTAMP) AS current_hour;
扩展
上述field位置可以开可以使用如下参数:
century:世纪
year:年份
decade:年份/10
month:月份
day:本月第几天
hour:时间中的小时
minute:时间中的分钟
second:时间中的秒
microseconds:时间中的毫秒
milliseconds:时间中的微妙
week:返回当前日期在当年的周次数
dow:一周中的星期几(以西方时间计算周日为0)
doy:本年的第几天
epoch:自1979-01-01 00:00:00 以来的秒数
isodow:一周中的星期几(周一为1 - 周日为7)
isoyear:日期所在的 ISO 8601 周编号年份
timezone:与UTC的时间偏移量,返回偏移量秒数
timezone_hour:与UTC的时间偏移量,返回偏移量小时
timezone_minute`:与UTC的时间偏移量,返回偏移量分钟
timezone的测试可以使用:
-- 查询时区
show timezone;
-- 临时变更时区
set time zone 'UTC';
set time zone '+16';
set time zone '+16:30';
-- 变更后可以测试 timezone, timezone_hour, timezone_minute 的效果。
select extract(timezone_minute from now());
date_part(‘field’, timestamp)
格式
date_part与extract功能一致,只是使用方式采用 date_part(‘field’, timestamp) 方式,而extract使用extract(field from timestamp) 格式,field枚举列表与上述一致,感兴趣可以实操试试。
🎉如果对你有所帮助,可以点赞、关注、收藏起来,不然下次就找不到了🎉
【点赞】⭐️⭐️⭐️⭐️⭐️
【关注】⭐️⭐️⭐️⭐️⭐️
【收藏】⭐️⭐️⭐️⭐️⭐️
Thanks for watching.
–Kenny