首页 > 解决方案 > 仅更新 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;

所以,这个问题只是提供信息,以防有人需要。

标签: postgresql

解决方案


回答:

UPDATE itens 
SET dtaquisicao = to_date(('1960-' || extract(month from dtaquisicao ) || '-' || extract(day from dtaquisicao )), 'YYYY-mm-dd')
WHERE extract(year from dtaquisicao) = 2060;

推荐阅读