我有兩列 in_time 和 out_time,它們都是帶有時區的時間戳。當我嘗試更新/更改時間時,日期也受影響,我只想更改時間而不影響日期(資料庫:Postgresql)
update activity
set in_time = in_time - interval '5.5 hours',
out_time = gout_time - interval '5.5 hours'
where emp_id = 72;
輸入
in_time ==> 2022-02-03 19:30:00:000 530
out_time ==> 2022-02-03 04:30:00:000 530
我得到的輸出
in_time ==> 2022-02-03 14:00:00:000 530
out_time ==> 2022-02-02 23:00:00:000 530
預期產出
in_time ==> 2022-02-03 14:00:00:000 530
out_time ==> 2022-02-03 23:00:00:000 530
uj5u.com熱心網友回復:
你必須 CAST 兩次,第一次是 DATE,第二次是 TIME。對 TIME 進行計算并將 TIME 添加到 DATE 以創建新的 TIMESTAMP:
UPDATE activity
SET in_time = CAST(login_time AS date) (CAST(login_time AS time) - interval '5.5 hours'),
out_time = CAST(logout_time AS date) (CAST(logout_time AS time) - interval '5.5 hours')
WHERE emp_id = 72;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/492359.html
標籤:sql PostgreSQL
上一篇:如何在mssql中提取nvarchar變數中的所有數字
下一篇:給TextView一個變數
