SparkSQLの日付関数とは
SparkSQLには、日付を指定したフォーマットで返したり、日付の差分を返したり出来る日付関数があります。
日付関数をでよく使うものをまとめてみたいと思います。
SparkSQLの日付関数
current_date()
: 現在の日付を返します。
SELECT current_date();
current_timestamp()
: 現在のタイムスタンプ(日時)を返します。
SELECT current_timestamp();
date_format(date, format)
: 指定した形式で日付をフォーマットします。
SELECT date_format(current_date(), 'yyyy-MM-dd');
date_add(startdate, num_days)
: 指定した日数を加えた後の日付を返します。
SELECT date_add('2023-01-01', 7);
- d
ate_sub(startdate, num_days)
: 指定した日数を引いた後の日付を返します。
SELECT date_sub('2023-01-08', 7);
datediff(enddate, startdate)
: 2つの日付の差を日数で計算します。
SELECT datediff('2023-05-12', '2023-01-01');
year(date)
: 日付の年を返します。
SELECT year('2023-05-12');
month(date)
: 日付の月を返します。
SELECT month('2023-05-12');
day(date)
: 日付の日を返します。
SELECT day('2023-05-12');
trunc(date, format)
: 指定した形式で日付を切り捨てます。
SELECT trunc('2023-05-12', 'MM');
add_months(startdate, num_months)
: 指定した月数を加えた後の日付を返します。
SELECT add_months('2023-01-01', 3);
last_day(date)
: 指定した月の最後の日を返します。
SELECT last_day('2023-05-12');
next_day(startdate, dayOfWeek)
: 指定した日付以降で最も近い指定曜日の日付を返します。
SELECT next_day('2023-05-12', 'Sunday');
quarter(date)
: 日付の四半期を返します。
SELECT quarter('2023-05-12');
weekofyear(date)
: 年内の週番号を返します。
SELECT weekofyear('2023-05-12');
from_unixtime(unixtime, format)
: UNIXタイムスタンプを指定した形式の文字列に変換します。
SELECT from_unixtime(1620807600, 'yyyy-MM-dd HH:mm:ss');
unix_timestamp([timestamp, format])
: 指定したタイムスタンプをUNIXタイムスタンプ(秒数)に変換します。
SELECT unix_timestamp('2023-05-12 10:30:00', 'yyyy-MM-dd HH:mm:ss');
date_diff(startdate, enddate)
: 2つの日付の差を返します。(日数で計算)
SELECT date_diff('2023-01-01', '2023-05-12');
datediff(startdate, enddate, unit)
: 2つの日付の差を指定した単位で計算します。(単位は日、週、月、年など)
SELECT datediff('2023-05-12', '2023-01-01', 'week');
date_part(unit, timestamp)
: 指定した単位の値を取得します。(単位は年、月、日、時、分、秒など)
SELECT date_part('hour', '2023-05-12 10:30:00');
date_trunc(format, timestamp)
: 指定した形式でタイムスタンプを切り捨てます。
SELECT date_trunc('hour', '2023-05-12 10:30:00');
datediff_interval(enddate, startdate)
: 2つの日付の差をINTERVAL型で返します。
SELECT datediff_interval('2023-05-12', '2023-01-01');
SQL参考文献
SQL学び始めの時はこちらの本を参考にしていました。DBやテーブルの構造から、よく使う関数などがまとめられています。基礎を身につけたい方におススメかと思います。
リンク
プログラムの学習は現役エンジニアから学べる TechAcademy [テックアカデミー] のご活用もぜひご検討ください!
SQL関連記事
そのほか、こちらにSQL関連の情報をまとめております。
>Coffee Tech Blog SQL関連情報
参考になれば幸いです☕
コメント