所有重要的日期和时间相关函数如下列表所示:
例如
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;
AGE(结束时间,开始时间):计算两个时间之间的间隔;只填一个参数时,自动拿数据库当前时间做结束时间。- CURRENT_TIME 获取当前时间(带时区);还有常用 CURRENT_DATE 获取当前日期(只有年月日)、NOW() 获取完整时间戳。
- 日期字符串可以用
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)