【发布时间】:2019-05-23 21:42:37
【问题描述】:
我有一个类型为日期的列,我只想更新日期中的年份,同时保留日期和月份。无论当前值是多少,我都想将年份设置为特定值。目前关于堆栈溢出的答案涉及从似乎不是我需要的日期中添加或减去年份。
【问题讨论】:
标签: sql postgresql
我有一个类型为日期的列,我只想更新日期中的年份,同时保留日期和月份。无论当前值是多少,我都想将年份设置为特定值。目前关于堆栈溢出的答案涉及从似乎不是我需要的日期中添加或减去年份。
【问题讨论】:
标签: sql postgresql
您可以像这样设置特定年份:
UPDATE my_table SET date_column = date_column +
MAKE_INTERVAL(YEARS := ***year*** - EXTRACT(YEAR FROM date_column)::INTEGER)
其中***year***是特定年份的整数。比如
UPDATE my_table SET date_column = date_column +
MAKE_INTERVAL(YEARS := 2001 - EXTRACT(YEAR FROM date_column)::INTEGER)
将所有日期的年份设置为 2001。
【讨论】:
你可以这样做:
UPDATE yourTable SET date_field = date_field + interval '1 year';
编辑:
但这也是你在 stackoverflow 上找到的。到底什么不适合你?该语句获取日期,在其上添加一年并将其保存回数据库。
【讨论】: