【BigQuery】DATE型からyyyymmdd形式のSTRING型日付データに変換する方法

20230730_BigQuery_2 クラウドプラットフォーム

前回yyyymmdd形式のSTRING型日付データをDATE型に変換する方法をご紹介しました。

STRING型からDATE型に変換できるということはその逆のDATE型からSTRING型に変換することも可能なはずです。

今回はDATE型からyyyymmdd形式のSTRING型に変換する方法をご紹介します。

テストデータ準備

DATE型の日付データを用意しました。
こちらをyyyymmdd形式のSTRING型に変換しましょう。

format_date関数を使う

STRING型からDATE型にするにはparse_date関数を使いましたが、今回はformat_date関数を使います。format_date関数はこのように書きます。

FORMAT_DATE('フォーマット要素', DATE '日付データ')

ここでもフォーマット要素を使うので、詳しい情報については公式リファレンスを確認ください。

Format elements  |  BigQuery  |  Google Cloud

20230802はそれぞれ以下のフォーマット要素に対応しました。それでは実行してみましょう!

  • 2023 → %Y
  • 08 → %m
  • 02 → %d
SELECT
  FORMAT_DATE('%Y%m%d', DATE '2023-08-02') AS STRING

yyyymmddの形式になりました。
format_date関数の戻り値はSTRING型のため20230802はSTRING型として扱えます。

これでDATE型からSTRING型、STRING型からDATE型へ自在に変換できるようになりましたね。

まとめ

DATE型からyyyymmdd形式のSTRING型に変換するformat_date関数について紹介しました。

format_date関数は実務でもよく使うでしょう。例えばパーティションカラムを設定せずテーブルパーティションを使うときはyyyymmdd形式にする必要があります。そんなときはformat_date関数が必須ですね。

自由自在に型変換ができると仕事の効率も上がりますね!