タイムゾーンがJSTじゃないDBでの注意(2)
データベースのタイムゾーンが手元の環境と異なる状態でupdate文によりデータベースのtimestamp with timezone
型の列を更新しようとしたとき、時刻をテキスト形式('2023/01/01'
のようなシングルクォートで囲まれた文字列)で設定しようとすると、タイムゾーンが意図した結果とならない場合がある。
これを回避するためには、以下のようにテキスト形式の時刻にタイムゾーンまで含めてしまえば良い。
-- 例
UPDATE user_table SET update_date = '2023/01/01 00:00:00 +1:00';
+1:00
の部分は接続先のデータベースのタイムゾーンを指定することに注意。