pg中代替mysql的DATE_SUB函数
时间: 2023-05-16 11:05:52 浏览: 1182
在 PostgreSQL 中,可以使用以下语句代替 MySQL 的 DATE_SUB 函数:
SELECT CURRENT_DATE - INTERVAL '1 day';
这将返回昨天的日期。您可以根据需要更改 INTERVAL 的值,例如 INTERVAL '1 month' 将返回上个月的日期。
相关问题
pg DATE_SUB
pg DATE_SUB 函数是在 PostgreSQL 数据库中用于从日期中减去指定的时间间隔。该函数接受两个参数:待减日期和时间间隔。它返回从给定日期减去指定时间间隔后的结果日期。
以下是使用 pg DATE_SUB 函数的示例:
```
SELECT DATE_SUB('2022-01-01', INTERVAL '1 month');
```
这将返回从 '2022-01-01' 减去一个月后的日期。
请注意,pg DATE_SUB 是一种伪代码,实际在 PostgreSQL 中使用的函数是不同的。如果您有特定的日期计算需求,请提供更详细的信息,我将尽力帮助您。
pgsql pg_size_pretty函数报错
如果在 PostgreSQL 中使用 `pg_size_pretty` 函数时出现错误,可能是因为该函数不在当前的数据库模式中可用。你可以尝试通过以下两种方式解决问题:
1. 使用完全限定的函数名称:`pg_catalog.pg_size_pretty`
例如,将查询语句中的 `pg_size_pretty` 替换为 `pg_catalog.pg_size_pretty`。这将确保使用完整的函数路径,而不仅仅是函数名称。
```sql
SELECT
pg_catalog.pg_size_pretty(pg_total_relation_size(current_database())) AS total_size,
pg_catalog.pg_size_pretty(pg_database_size(current_database())) AS database_size;
```
2. 切换到正确的数据库模式
在 PostgreSQL 中,函数可以位于不同的模式中。如果 `pg_size_pretty` 函数位于其他模式中而不是默认的模式中,你需要切换到该模式才能使用它。
首先,可以通过以下查询语句查看函数所在的模式:
```sql
SELECT proname, pronamespace::regnamespace AS schema
FROM pg_proc
WHERE proname = 'pg_size_pretty';
```
查询结果将显示函数 `pg_size_pretty` 的模式。然后,你可以使用以下命令切换到正确的模式:
```sql
SET search_path TO schema_name;
```
其中,`schema_name` 是函数所在的模式名称。切换到正确的模式后,你应该能够正常使用 `pg_size_pretty` 函数。
请注意,以上解决方法假设你具有足够的权限来执行这些操作。如果你没有足够的权限或者遇到其他问题,请联系数据库管理员进行进一步的支持和调试。