日本のサービスを利用する限りはあんまりないと思うのですが、JST時刻をUTC時刻に変換したい時のコード
SELECT created_at, FORMAT_TIMESTAMP('%F %T UTC', TIMESTAMP_SUB(TIMESTAMP(created_at) , INTERVAL 9 HOUR)) as utc_at >> created_at utc_at >> 2023-01-01 09:30:00 2023-01-01 00:30:00 UTC
今回この珍しいコードが必要になった背景ですが、OSSのビジネスインテリジェンスツールであるMetabaseを使ったときに、データ上は UTCなんだけど、時刻情報を時系列グラフで描画すると、自動でJST変換されて表示されるという機能があった為です。
この場合は、JSTをUTCに戻してあげないと、表示上9時間ズレる。という状態になりました。
ツール側で良かれと思って変換されてるわけですが、その設定を知らない人が触ると事故が起きそう。と感じました。