タイムゾーンが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の部分は接続先のデータベースのタイムゾーンを指定することに注意。