[小ネタ] Snowflakeで区切り文字のない年月日(YYYYMMDD)から日付型(YYYY-MM-DD)にする方法 #SnowflakeDB

[小ネタ] Snowflakeで区切り文字のない年月日(YYYYMMDD)から日付型(YYYY-MM-DD)にする方法 #SnowflakeDB

備忘録
2021.03.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

SnowflakeでYYYYMMDDの形式で文字列で保存されている値をYYYY-MM-DDの形式で表示するのに苦労したので、メモとして残します。

Snowflake上で日付のデータ型に変換する関数として、TO_DATEDATEが用意されていますが、年月日の間に区切り文字が入っていないとシリアル値として認識されてしまいます。

予期せぬタイムトリップです。

そこで、TO_DATEに'YYYY-MM-DD'のフォーマットを渡せばいいのかと思い、試してみると、エラーが出てしまいます。

公式ドキュメントの例をよく見ると、2番目の引数のフォーマットは指定する値と一致しています。そこで、フォーマットの指定を'YYYYMMDD'としてみると、うまく行きました!

さらに文字列に戻す場合には、TO_CHAR(VALUE, 'YYYY-MM-DD')で囲います。

おまけ

元の値が数値の場合、その数値を文字列(TO_CHAR)にすればエラーを回避できます。

数値を文字列にしないと、エラーが出てしまいます。

おしまい


データ分析基盤ならCSAにおまかせください!

クラスメソッドでは、データ分析に関わる皆様の作業コストを削減し、分析アクションを促進・効率化・自動化するためのデータ分析基盤「カスタマーストーリーアナリティクス」を提供・展開しています。興味をお持ち頂けた方は下記バナーをクリックし、詳細をご覧頂けますと幸いです。(各種問い合わせも承っております)

データ分析基盤を最短1ヶ月で導入可能


また、現在クラスメソッドでは毎週無料の相談会を開催しています。データ分析基盤の構築から、BIツール、データ統合など、ビッグデータ分析の導入や活用、技術についてお気軽にご相談ください。

データ分析相談会

この記事をシェアする

データ分析基盤を最短1ヶ月で導入できる

関連記事