📅  最后修改于: 2023-12-03 14:45:36.053000             🧑  作者: Mango
PostgreSQL是一种强大的开源关系数据库管理系统。它支持各种数据类型,其中包括日期和时间类型。本文将介绍PostgreSQL中可用的日期时间函数和运算符。
在PostgreSQL中,有三种日期时间类型:
PostgreSQL提供了许多与日期时间相关的函数,这些函数可用于计算和操作日期时间值。
NOW()
函数返回当前日期和时间,以timestamp类型表示。
SELECT NOW();
-- 结果:2021-09-29 15:28:00.120658
DATE_TRUNC()
函数截取日期时间(即从两个时间戳之间截取时间段)。
SELECT DATE_TRUNC('day', NOW());
-- 结果:2021-09-29 00:00:00
DATE_PART()
函数返回日期时间的一个部分,例如年、月、日、小时、分钟等。
SELECT DATE_PART('year', NOW());
-- 结果:2021
SELECT DATE_PART('month', NOW());
-- 结果:9
AGE()
函数计算两个日期之间的差异。
SELECT AGE('2021-09-01'::DATE, NOW());
-- 结果:"27 days 15:28:00.155156"
DATE_ADD()
函数从给定日期开始添加时间间隔。
SELECT '2021-09-01'::DATE + INTERVAL '1 month';
-- 结果:2021-10-01
PostgreSQL还支持各种日期时间运算符。
使用“+”和“-”运算符添加或减去日期时间间隔。
SELECT NOW() + INTERVAL '1 hour';
-- 结果:2021-09-29 16:28:00.120658
SELECT NOW() - INTERVAL '2 days';
-- 结果:2021-09-27 15:28:00.120658
使用“<”和“>”运算符比较两个日期时间值。
SELECT '2021-09-01'::DATE < NOW();
-- 结果:true
SELECT NOW() > '2022-01-01'::DATE;
-- 结果:false
使用“==”和“!=”运算符比较两个日期时间值。
SELECT '2021-09-01'::DATE = NOW()::DATE;
-- 结果:false
SELECT NOW()::DATE != '2022-01-01'::DATE;
-- 结果:true
PostgreSQL提供了许多日期时间函数和运算符,这些函数和运算符可用于计算和操作日期和时间值。在使用日期时间类型时,请牢记应用程序的时区,以确保数据的正确性。