3、postgres时间计算函数date_part

发布时间 2023-09-07 14:32:44作者: 站着说话不腰疼

postgres时间计算函数date_part

1、计量两个时间相隔天数

select date_part('day',endDate-startDate);

实例:

select date_part('day',to_date('20220301','yyyyMMdd')::TIMESTAMP-to_date('20220201','yyyyMMdd')::TIMESTAMP);

输出:28

2、计量两个时间相隔月份

获取到当前月份,实际获取到时间的月份,通过月份相减得到当年的月份差,再通过年份差*12得到所有月份差。

select date_part('month',date_1);

实例:

select date_part('month',to_date('20231201','yyyyMMdd')::TIMESTAMP);

输出:12

两个时间相差月份:

select 
12*(date_part('year',to_date('20241201','yyyyMMdd')::TIMESTAMP)-date_part('year',to_date('20230201','yyyyMMdd')::TIMESTAMP))
+(date_part('month',to_date('20241201','yyyyMMdd')::TIMESTAMP)-date_part('month',to_date('20230201','yyyyMMdd')::TIMESTAMP));

输出:22

3、计量两个时间年份差

年份相减:

select date_part('year',endTime)-date_part('year',startTime)

示例:

select date_part('year',to_date('20241201','yyyyMMdd')::TIMESTAMP)-date_part('year',to_date('20230201','yyyyMMdd')::TIMESTAMP)

输出:1