pgsql 获取两个日期之间的天数
时间: 2023-10-14 18:20:25 浏览: 57
你可以使用 PostgreSQL 内置函数 `date_part()` 和 `age()` 来计算两个日期之间的天数。以下是一个示例查询:
```sql
SELECT date_part('day', age('2021-01-01'::date, '2021-02-01'::date)) AS days_between;
```
在这个示例中,我们计算了从 2021 年 1 月 1 日到 2021 年 2 月 1 日之间的天数。`date_part()` 函数用来提取 `age()` 函数返回的时间间隔的天数部分,从而得到两个日期之间的天数。
相关问题
pgsql 两个日期相减
在 PostgreSQL 中,你可以使用 `AGE` 函数来计算两个日期之间的差距。以下是使用 `AGE` 函数计算两个日期相减的示例:
```sql
SELECT AGE('2022-10-15'::DATE, '2022-10-10'::DATE);
```
这将返回一个时间间隔,表示两个日期之间的差距。在这个例子中,返回的结果可能是 `5 days`。
你也可以使用 `-` 运算符来直接计算两个日期之间的天数差距,如下所示:
```sql
SELECT '2022-10-15'::DATE - '2022-10-10'::DATE;
```
这将返回一个整数,表示两个日期之间的天数差距。在这个例子中,返回的结果是 `5`。
请注意,以上示例中的日期格式为 `YYYY-MM-DD`。你可以根据实际情况调整日期的格式。
pgsql计算两日期之间工作日天数
在 PostgreSQL 中,可以使用以下查询计算两个日期之间的工作日天数:
```sql
SELECT COUNT(*) AS workdays
FROM generate_series('2021-06-01'::date, '2021-06-30'::date, '1 day') AS date
WHERE extract('isodow' from date) < 6;
```
这个查询使用 `generate_series` 函数生成两个日期之间的日期序列,然后使用 `extract` 函数获取日期的 ISO 星期几(1-7,其中 6 和 7 表示周末),最后筛选出工作日并计算数量。在这个查询中,我计算了 2021 年 6 月份的工作日天数。你可以更改日期范围以适应你的需求。