PostgreSQL 从日期字段 PSQL 中减去一年

PostgreSQL Subtract exactly a year from a date field PSQL

我试过 SQL Subtract exactly a year 但 PSQL 中的语法不起作用。在我的例子中,日期是用 2 位数年份导入的,所以它们的生日都在 1900 年之前。

UPDATE patients SET birthday = dateadd(year, 100, getdate(birthday)

投掷:

ERROR:  syntax error at or near "table"
LINE 1: UPDATE table SET datefield = DATE_ADD(datefield, INTERVAL 1 ...

这在 PostgreSQL 中只需使用 INTERVAL 并传入一串增量值和类型(秒、分钟、小时、天、月、年)等即可。

UPDATE patients SET birthday = birthday + INTERVAL '1900 years';

在这里找到想法https://www.postgresql.org/docs/9.1/static/functions-datetime.html