系统函数-日期和时间为例

所有重要的日期和时间相关函数如下列表所示:

例如

SELECT AGE(timestamp '2017-01-26', timestamp '1951-08-15');
Code language: JavaScript (javascript)

计算两个日期之间差值,用来算一个人的年龄。

只传生日,自动用当前系统时间计算当前年龄:

SELECT AGE(timestamp '1990-08-15');
Code language: JavaScript (javascript)

获取当前时间

SELECT CURRENT_TIME;
  1. AGE(结束时间,开始时间):计算两个时间之间的间隔;只填一个参数时,自动拿数据库当前时间做结束时间。
  2. CURRENT_TIME 获取当前时间(带时区);还有常用 CURRENT_DATE 获取当前日期(只有年月日)、NOW() 获取完整时间戳。
  3. 日期字符串可以用 timestamp '日期字符串' 的方式转成时间类型。

常用补充示例(方便加到笔记)

SELECT CURRENT_DATE; --获取当前日期
SELECT NOW();        --获取当前时间戳(日期+时间)

函数描述
AGE()减去参数,计算时间间隔,常用来算年龄
CURRENT DATE/TIME()获取当前日期和时间
DATE_PART()获取子字段(相当于提取)
EXTRACT()获得子字段
ISFINITE()测试有限的日期,时间和间隔(非+/-无穷大)
JUSTIFY调整间隔

例如

SELECT AGE(timestamp '2017-01-26', timestamp '1951-08-15');
Code language: JavaScript (javascript)

计算两个日期,计算一个人的年龄

只填生日,自动使用当前系统日期计算当前年龄。

SELECT AGE(timestamp '1990-08-15');
Code language: JavaScript (javascript)

获取当前时间

SELECT CURRENT_TIME;

补充示例:

-- 提取年份,EXTRACT示例
SELECT EXTRACT(YEAR FROM timestamp '1990-08-15');
-- DATE_PART提取月份
SELECT DATE_PART('month', timestamp '1990-08-15');
Code language: JavaScript (javascript)

Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注