毎朝6時に実行されるクエリがある。
しかし、そのクエリで実行されるcurrrent_dateがUTCの日付になって、1日ずれてしまう( ˊᵕˋ ;)
どうにか日本時間のcurrent_dateが取得できないか……
結論
select trunc(convert_timezone('Japan', getdate()))
を使えば、日本時間の今日の日付が取得できる(๑´ω`๑)/
詳細
select current_date
datetime.date(2023, 2, 15)
UTCの日付になってしまう(>︿<。)
select current_timestamp
datetime.datetime(2023, 2, 15, 21, 0, 33, 273305, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None))
UTCだが時刻も取得できるので、編集できそう
select getdate()
datetime.datetime(2023, 2, 15, 21, 0, 33)
UTCだが時刻も取得できるので、編集できそう
select convert_timezone('Japan', getdate())
datetime.datetime(2023, 2, 16, 6, 0, 33)
UTCを日本時間に変換できた(๑´ω`๑)/
select trunc(convert_timezone('Japan', getdate()))
datetime.date(2023, 2, 16)
日本時間の今日の日付が取得できた!
select convert_timezone('Japan', current_timestamp)
SQLエラー [42883]: ERROR: function convert_timezone("unknown", timestamp with time zone) does not exist ヒント: No function matches the given name and argument types. You may need to add explicit type casts.
current_timestampは変換できないらしい( ˊᵕˋ ;)