如何在PGadmin中修改timestamp类型字段的时间部分取值?
PostgreSQL timestamp字段时间部分批量调整方案
- 操作前请先对目标表做数据备份,避免误操作导致数据丢失
方案1:全量更新(适用于所有datefield字段时间部分均为00:00:00的场景)
直接对字段值追加12小时的时间偏移,SQL语句如下:
UPDATE 你的实际表名 SET datefield = datefield + INTERVAL '12 hours';
方案2:条件更新(更稳妥,仅修改时间部分为00:00:00的记录)
如果存在部分记录已经有非0点的时间值,可通过WHERE条件过滤避免误改:
UPDATE 你的实际表名 SET datefield = datefield + INTERVAL '12 hours' WHERE datefield::TIME = '00:00:00'::TIME;
结果验证
更新完成后可执行以下查询确认修改结果符合预期:
SELECT datefield FROM 你的实际表名 LIMIT 20;
注意:如果你的PGAdmin未开启自动事务提交,执行UPDATE语句后需要手动提交事务才能生效。
内容的提问来源于stack exchange,提问作者ben fero
相关产品推荐
相关产品推荐

