IT エンジニア日記 ~Presto DB で月末日付の取得~ -2024/06/20-
どうも。 clown です。
Presto DB で今月末日付を取得しなければならなくて、どうしたもんか悩んだのが今日。
Hive だったら `last_day` 関数があるから何も悩まなくていい。
Presto でも `last_day_of_month` 関数がある。
なのに、某サービスで使ってる Presto のバージョンでは `last_day_of_month` が無くて一発で取得できない。
どうしたものか。
閏年の面倒な計算はしたくないし、一発で月末を取得できないし。と調べてこんな感じで対応。
select
date_format(
date_parse(
date_format(time + INTERVAL '1' month, '%Y-%m-01')
, '%Y-%m-%d')
- INTERVAL '1' day, '%Y-%m-%d')
これで月末は取得できる。
何してるか。
`time` カラムをベースに来月の初日を取得(月をプラス1)して、日付を1日マイナスする。こうすると閏年の面倒な計算もしなくていい。
掲げている使命
好きとスキルを駆使して、心身と経済が豊かな日本社会を創造する
いま、目の前で困っていることがある方のために僕の「好き」と「スキル」が何かのお役にたつかもしれません。
お困り事のある方は、コメントをいただけるとありがたいです。
支援のお願い
本記事は無料でお読みいただけますが、投げ銭形式にしているので、気に入ったらご購入いただけると嬉しいです。
また、下記リンクのご支援をいただけると励みになります。
素材引用元
アイコン
見出し
この記事が気に入ったらサポートをしてみませんか?