【SQL】dateadd関数の使い方とよくあるエラーを例文を用いて解説(練習問題あり)
dateadd関数の基本構文
dateaddは以下の構文で使用する。
この構文をSELECT または、 WHERE内で多く使われる関数だ。
例題は、以下のテーブルを用いる。
時間カラムは、世界標準時間を用いているために、正確な計測時間を用いるには、dateaddを用いて修正する必要がある。
*(アスタリスク)は全カラムを抜き出す処理であり、
以下の結果を返すことができる。
dateadd関数の練習問題
練習問題を通じて、実践的にdateadd関数の用法を理解していく。
練習問題 : 「本日が2022-04-01だとして、『過去60日間のレコード』を全て抽出しなさい」
今回は、where文でdateadd関数を使うケースだ。
回答は以下である。
current_dateとは、「現在の時刻」であり、
によって、「過去60日間」になる。
結果は以下のように抽出される。
練習問題2 : 「『日付ごとの来訪ユーザー数』を計測しなさい。」
今回は、dateaddとcount文を用いた練習問題だ。
count文の復習はこちら👇
回答は以下である。
結果は以下のように抽出される。
::date と書くことで、時刻カラムを日付に変換できる。
また今回は、ユーザー数の計測のため、重複のないようcount distinctを用いる必要がある点も注意してもらいたい。
dateadd関数でよくあるエラーと解消法
dateadd関数でよく起こるエラーと、その解消法を解説していく。
日付型を間違えるケース
dateadd関数では、日付型にルールがある。
日の場合は、「d」、月は「m」、週は「ww」、年は「yyyy」というように指定する必要がある。
「day」や「minute」と記載するのが無難ではあるので、dateadd関数を用いる際は、ぜひ意識してもらいたい。
最後に自己紹介
はじめまして、ニューズピックス(https://newspicks.com/)でマーケターをしている平野佑樹です。
普段は、JobPicksというジョブ型キャリアを支援するWebサービス(https://job.newspicks.com/)を運営しており、
SQLやGoogle Analyticsを用いた分析
TwitterをはじめとしたSNS運用(ショート動画にも挑戦予定)
メールマガジン運用
Google Optimizeなどを用いたA/Bテスト
Search Consoleを用いてコンテンツSEOや開発に関わるSEO施策
など、業務を担当してきました。
マーケターの業務を後押しするtipsをnoteにて発信しております。
(ぜひ、いいねや拡散お願いいたします🙇)
ぜひ、フォローや興味持っていただいた方は、(https://twitter.com/enterrocken)にDMいただけますと幸いです!