在我的表中,我將列從日期更改為時間戳。在所有現有行中,Postgres 會自動為日期添加時間,例如:
2020-04-04 --> 2020-04-04 00:00:00
但我希望它為所有現有行設定為 09:00(所以:2020-04-04 09:00:00)。有人知道怎么做嗎?
這是我的代碼:
ALTER TABLE members ALTER COLUMN joined SET DATA TYPE timestamp;
ALTER TABLE members ALTER COLUMN joined SET DEFAULT current_timestamp;
--for all existing columns, change timestamp to [entered-date_09:00:00]
uj5u.com熱心網友回復:
ALTER COLUMN .. SET DATA TYPE .. USING 是你要找的:
ALTER TABLE members
ALTER COLUMN joined SET DATA TYPE timestamp USING joined '09:00:00'::time;
或者UPDATE在您已經有時間戳列的情況下使用
UPDATE members
SET joined = joined '09:00:00'::time
演示: db<>fiddle
uj5u.com熱心網友回復:
增加 9 小時:
update members
set joined = joined interval '9' hour
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/341481.html
標籤:sql PostgreSQL 日期 时间戳
下一篇:計算兩個不同日期期間的相同ID
