前回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関数が必須ですね。
自由自在に型変換ができると仕事の効率も上がりますね!