初級編|基本機能の説明

【よく使われる関数】 DATE_DIFF関数

以前の記事では、データを集計したい場合に用いる関数(集計関数)についてご紹介しました。
実際にMagiqの関数選択画面を見ると実感いただけるかもしれませんが、集計関数以外にもデータ抽出の際に用いられる関数の種類はたくさんあります
その中でも特に使用頻度の高い関数についてご紹介します。まずは、DATE_DIFF関数です。

DATE_DIFF関数とは

DATE_DIFF関数とは、2つの日付または時刻などの差を計算するときに用いる関数です。
様々な分析に便利であるため、SQLにおいては使用頻度の高い関数です。

どんなときに使うのか?

基本的には、経過時間を調べたい場面で使われます。タスクの終了時刻から開始時刻を引いてタスクにかかった時間を調べたり、あるイベントがどのくらい前のものであったかを現在の日時からイベントの発生日時を引くことで求めることができます。応用すれば、年齢を求める際にも使用できますね。現在の日時からその人の生年月日を引けば、年齢を算出できます。「現在の日時」として設定しておけば、年が変わるたびに設定しなおす必要がなく便利です。

設定方法

では、Magiq上でDATE_DIFF関数を設定する方法について見ていきましょう。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
【流れ】
①テーブル選択
②関数選択
③引数選択1:終了時刻の選択
④引数選択2:開始時刻の選択
⑤引数選択3:時間単位の選択
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
仮に、現在の日時と注文日時の差を求めたいとします。

①テーブル選択

取得したいフィールドに合わせてテーブルを選択してください。ここでは、注文日時を抽出するため、注文テーブル(“ec_sample_jp.order”)を選択します。

②関数選択

フィールド選択欄左のプルダウンから関数モードを選択し、“DATE_DIFF”関数を選んでください。検索画面に関数名を入力することで、絞り込むことができます。(画像参照)

関数名を入力して絞り込む

③引数選択1:終了時刻の入力

“DATE_DIFF”関数「引数1」の欄に、期間の終了時刻を入力します。
今回の場合は現在時刻ですね。現在時刻の入力は、“CURRENT_DATETIME”関数を用いて行います。

「引数1」の欄右のプルダウンから、「関数」モードを選択します。
先ほどと同じ要領で、“CURRENT_DATETIME”関数を選択します。
“CURRENT_DATETIME”関数の引数は、文字列から「タイムゾーン」を選択してください。

現在時刻を設定したい場合のCURRENT_DATE関数の引数選択方法


④引数選択2:開始時刻の入力

“DATE_DIFF”関数「引数2」の欄に、期間の開始時刻を入力します。
今回の場合は注文日時なので、「フィールド」から注文日時のカラム(ec_sample_jp.order.order_date)を選択します。

⑤引数選択3:時間単位の選択

差を求めたい時間の単位を指定します。プルダウンから、「時間単位」モードを選択します。「〇日差」で求めたいなら“DAY”を指定します。他にも、“HOUR”,“WEEK”,“YEAR”などが選択できます。

②~⑤を入力すると、以下のようになります。

これで、設定の完了です。

【よく使われる関数】文字列関数

TOP