pgsql age函数

在PostgreSQL中,age()函数用于计算两个日期之间的间隔。它接受两个日期作为参数,并返回一个表示这两个日期之间间隔的interval类型值。
语法
age(date1, date2)
其中date1和date2可以是date、timestamp、timestamptz类型的值。
示例
假设我们有一个名为students的表,其中包含学生的名字和出生日期。我们可以使用age()函数来计算学生的年龄。
CREATE TABLE students (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
birthdate DATE
);
INSERT INTO students (name, birthdate) VALUES
('Alice', '1990-05-15'),
('Bob', '1992-11-20'),
('Charlie', '1988-03-10');
SELECT name, age(birthdate, CURRENT_DATE) AS age FROM students;
运行以上代码后,我们会得到类似如下的结果:
| name | age |
|---------|----------|
| Alice | 31 years |
| Bob | 29 years |
| Charlie | 33 years |
注意事项
- 当
date1早于date2时,返回的interval值为正数;当date1晚于date2时,返回的interval值为负数。 age()函数返回的interval值包含年、月、日三个部分。我们可以通过调用YEAR()、MONTH()、DAY()函数获取具体的年、月、日数值。- 如果我们只想获取年龄的整数部分,可以配合使用
EXTRACT()函数。
应用场景
age()函数在许多情况下都非常有用,例如:
- 计算年龄
- 计算两个事件之间的时间间隔
- 生成报表或统计数据
总的来说,age()函数为我们提供了一个方便且强大的工具来处理日期和时间数据。
极客教程