Blog2018-09-13RedShiftでの日時処理を行う際の注意点RedShiftこんにちは。データサイエンティスト兼、データ基盤エンジニアのshobyです。RedShiftの日時処理、紛らわしいですよね。現在日時を取得する際は、紛らわしい関数名と、タイムゾーンに注意する必要があります。TIMESTAMP型で取得するのがGETDATEです。上記関数で取得できる現在時刻は、UTCであるため、JSTで日時を格納しているカラムと比較するには、以下のようにCONVERT_TIMEZONEでJSTに変換する必要があります。CURRENT_DATE());曜日取得の注意点TIMESTAMPから曜日を取得する場合、シンタックスの異なる同等の関数二つが存在することに注意が必要です。8601の曜日の仕様とは異なる点にも注意が必要です。TIMESTAMPから日付部分を取得するには、EXTRACTと、DATE_PARTという二つの関数が存在します。機能は同等で、シンタックスのみが異なります。使用方法は以下の通りです。いう定義になっています。日曜日を0に割り当てるか、7に割り当てるかが異なっています。ISO互換に値を変更する場合には、CASE文等で変換する必要があります。日時間隔取得の注意点RedShiftで日時間隔の取得を行う場合、日時の減算を用いる方法と、DATEDIFFを用いる方法があります。どの型に対してどの方法を用いるかによって、結果の値が変わるため、注意が必要です。TIMESTAMP型の場合は結果がINTERVAL型になります。docs.aws.amazon.com日時間隔の取得結果に対し「結果が2日以上か」といった比較をする場合には注意が必要です。まとめRedShiftで日時処理を行う際には、タイムゾーンや、ISOの仕様とのズレ、型の違いなどを意識する必要があるため、ご注意ください。13:01RedShiftでの日時処理を行う際の注意点Tweet関連記事2019-01-04purrrとbroomで複数の回帰モデルを効率的に管理するはじめまして。データサイエンティストの森下です。TVISIONで...2018-11-01RedShiftでETL処理向けの擬似JSON型カラムViewを作成するこんにちは。データサイエンティスト兼、データ基盤エンジニア...2018-08-15『継続して○○した日数』の最大値をSQLで求めるこんにちわ。INSIGHTSのデータ部...2018-07-26RedShiftにユーザー定義関数を追加し、データ抽出業務を効率化するこんにちは。データサイエンティスト、兼データ基盤エンジニア...2018-07-13RedShiftの列圧縮タイプを見直し、ディスク費用を節約するこんにちは。INSIGHTSが運営する技術ブログです。Pipelineのハマりポイント月別アーカイブ注目記事スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。