在 PostgreSQL 中计算时间差非常简单。可以使用两个时间值相减来获取时间差。有两种不同的方法可以计算出时间差:使用 EXTRACT 函数或使用 "-" 运算符。
使用 EXTRACT 函数需要指定要从时间戳中抽取的字段。例如,要获取小时差,可以使用以下查询:
```
SELECT EXTRACT(HOUR FROM TIMESTAMP '2021-01-01 12:00:00' - TIMESTAMP '2021-01-01 10:00:00');
```
该查询将返回 2。
另一个方法是使用 "-" 运算符。它简单明了:
```
SELECT TIMESTAMP '2021-01-01 12:00:00' - TIMESTAMP '2021-01-01 10:00:00';
```
该查询将返回 `02:00:00`。
如果您想要以人类可读的方式显示时间差,可以使用 age 函数。例如:
```
SELECT age(TIMESTAMP '2021-01-01 12:00:00', TIMESTAMP '2021-01-01 10:00:00');
```
该查询将返回 `02:00:00`.
您还可以使用现成的时间差函数,以更方便的方式实现相同的结果。例如,要获得两个时间戳之间的天数,可以使用以下查询:
```
SELECT date_part('day', TIMESTAMP '2021-03-01' - TIMESTAMP '2021-02-01');
```
在上面的查询中,我们使用 date_part 函数将时间差转换为天数。在使用此函数时,第一个参数是要抽取的时间部分(这里是天)。
通过上述方法可以方便地计算 PostgreSQL 时间差。
评论前必须登录!
注册