postgresql - 仅更新 POSTGRESQL 中日期字段中的 YEAR
问题描述
我有以下情况:在数据迁移过程中,我意识到日期字段中的年份只写了两个数字;因此,“插入”命令以错误的方式包含日期。例如,年份是'1960',但写成'60';因此,“插入”命令包括“2060”年。
我一直在寻找有关如何仅更新日期中的年份的两天,但没有成功。最后,我已经尝试过了,对我来说效果很好:
UPDATE itens
SET dtaquisicao = to_date(('1960-' || extract(month from dtaquisicao ) || '-' || extract(day from dtaquisicao )), 'YYYY-mm-dd')
WHERE extract(year from dtaquisicao) = 2060;
所以,这个问题只是提供信息,以防有人需要。
解决方案
回答:
UPDATE itens
SET dtaquisicao = to_date(('1960-' || extract(month from dtaquisicao ) || '-' || extract(day from dtaquisicao )), 'YYYY-mm-dd')
WHERE extract(year from dtaquisicao) = 2060;
推荐阅读
- node.js - 使用 babel 将 es6 node.js 部署到 Heroku 时出错
- shopware - 商店用品;以编程方式设置产品封面
- python - 如何在 Python 中使用 odeint 将 ODE 的初始条件置于特定时间点?
- c - 为什么我在 malloc 中遇到错误?我的意思是当高度和宽度相等时我正在工作,但是如果高度大于宽度,它就会卡住
- android-studio - 尝试在 Android Studio、VS Code 和 Web 浏览器中打开 Flutter Inspector “断开连接”
- javascript - Nuxt.js:调度 Vuex 操作不适用于 mapState
- python - ModuleNotFoundError:没有名为“mephisto.core”的模块
- python - 我需要在 Django 中散列一个始终相同的 PIN
- javascript - Node.js - 从另一个加载的文件中获取变量
- vb.net - 有人可以提供一个在 VB.NET 中使用 AccessibleChildren 的工作示例吗?