sql - 使用 postgres 仅更新日期字段中的年份
问题描述
我有一个类型为日期的列,我只想更新日期中的年份,同时保留日期和月份。无论当前值是多少,我都想将年份设置为特定值。当前堆栈溢出的答案涉及从似乎不是我需要的日期中添加或减去年份。
解决方案
您可以像这样设置特定年份:
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。
推荐阅读
- xamarin - 当 CrossSimpleAudioPlayer 播放时,WkWebView 暂时禁用
- firebase - 我正在使用流提供程序和 Navigator.push(),如何检测新路由中流的更改
- python - “ctypes\__init__.py”,第 364 行,在 __init__ OSError: [WinError 126] The specified module could not be found While running pyinstaller executable
- python - how to slice data frame by row number and aggregate in pandas
- android - 用户单击通知启动后台应用程序时如何获取Android推送通知有效负载
- vue.js - Vue.js:是否可以对 Vue 项目进行“条件编译”?
- r - 在我的函数中应用巴特利特测试时出错
- docker - "google cloud run" 将 CMD 的 HOME 更改为 /home,其中 RUN 使用 /root
- java - android 应用中的 Google Pay 集成(受限国家/地区)
- c - 2位七段显示