現在、読み取り専用分析エンジンはMySQLの日付関数の大部分をサポートしていますが、一部のシナリオでは依然として制限や非互換性が存在します。本稿では読み取り専用分析エンジンにおける日付関数のサポートリストについて説明し、入力パラメータの型制限を列挙します。ドキュメントに記載されていない入力パラメータや関数については、一切サポートされません。
日付関数のサポートタイプ
datediff関数
日付間の指定された時間間隔のファンクション。
構文: datediff(date1, date2)
date1がサポートする値の型:date、datetime データ型です。
date2がサポートする値の型:date、datetime データ型です。
year 関数
年計算関数。
構文: year(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
month関数
月計算関数。
構文: month(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
day関数
日計算関数。
構文: day(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
アワー関数
時間計算関数。
構文: hour(date1)
date1がサポートする値の型:date、datetime データ型です。
分関数
分計算関数。
構文: minute(date1)
date1がサポートする値の型:date、datetime データ型です。
秒関数
秒計算関数。
構文: second(date1)
date1がサポートする値の型:date、datetime データ型です。
マイクロ秒関数
タイム/日時のマイクロ秒部分を返します。
構文: microsecond(date1)
date1がサポートする値の型:date、datetime データ型です。
quarter 関数
指定された日付値(1~4の数値)の年の四半期を返します。
構文:quarter(date1)
date1がサポートする値の型:date、datetime、varchar、char データ型です。
date関数
日付関数。
構文: date(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
sysdate 関数
システム時間関数を返します。
構文: sysdate()
date_add関数
日付加算関数。
構文: date_add(date1, interval expr type)
date1がサポートする値の型:date、datetime データ型です。
exprがサポートする値の型:int、long、double、decimalをサポートします。
typeがサポートする値の型:DAYをサポートします。DAYはキーワードです。
date_sub 関数
日付減算関数。
構文: date_sub(date1, interval expr type)
date1がサポートする値の型:date、datetime データ型です。
exprがサポートする値の型:int、long、double、decimalをサポートします。
typeがサポートする値の型:DAYをサポートします。DAYはキーワードです。
dayofyear関数
指定された日付がその年の何日目であるかを返す関数です。
構文:dayofyear(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
dayofmonth関数
指定された日付がその月の何日目であるかを返す関数です。
構文:dayofmonth(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
dayofweek 関数
指定された日付がその週の何曜日であるかを返す関数です。
構文:dayofweek(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
デーネーム関数
指定された日付に対応する曜日名を返します。
構文:dayname(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
monthname関数
指定された日付の月の名称を返します。
構文:monthname(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
to_seconds関数
指定された日付/日時が0年からの秒数を返します。
構文:to_seconds(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
最終日関数
月の末日を返す関数です。
構文:last_day(date1)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。
sleep 関数
実行時に数秒間一時停止します。
構文:sleep(N)
Nがサポートする値の型:intデータ型です。
now関数
現在時刻を取得する関数です。
構文:NOW()
現在時刻を取得する関数で、引数は不要です。
current_timestamp関数
現在時刻を取得する関数で、NOW関数と同等です。
構文:CURRENT_TIMESTAMP()
現在時刻を取得する関数で、引数は不要です。
curdate関数
現在の日付を取得する関数で、CURRENT_DATE関数と同等です。
構文:CURDATE()
現在の日付を取得する関数で、引数は不要です。
current_date関数
現在の日付を取得する関数で、CURDATE関数と同等です。
構文:CURRENT_DATE()
現在時刻を取得する関数で、引数は不要です。
current_time関数
現在時刻を取得する関数です。
構文:CURRENT_TIME()
現在時刻を取得する関数で、引数は不要です。
curtime関数
現在時刻を取得する関数で、CURRENT_TIME関数と同等です。
構文:CURTIME()
現在時刻を取得する関数で、引数は不要です。
from_unixtime 関数
タイムスタンプを時刻形式に変換する関数です。
構文:FROM_UNIXTIME(unix_timestamp[,format])
unix_timestamp は int 型の数値をサポートします。
formatでサポートされるフォーマットは、以下のdate_format関数のテーブル例の通りです。formatが空の場合、デフォルトは%Y-%m-%d %H:%i:%sフォーマットとなります。 unix_timestamp関数
日時ベースでタイムスタンプに変換する関数です。
構文:UNIX_TIMESTAMP([date])
date は DATE 標準の日付型をサポートします。
注意:
1.2404.17.0以降のバージョンのみ、FROM_UNIXTIME関数とUNIX_TIMESTAMP関数をサポートしています。
weekday 関数
パラメータ値に対応する曜日を取得します。
構文:weekday(date)
日付に対応する曜日を取得します。引数は Date または Datetime 値をサポートし、戻り値の範囲は0~6で、それぞれ日曜日から土曜日に対応します。日付が NULL または 0000-00-00 の場合、関数は NULL を返します。
timediff 関数
2つの時間の間の差を取得します。
構文:timediff(time1,time2)
time1とtime2の間の時間差を取得します。time1 - time2。
to_days 関数
西暦0年12月31日から引数値までの日数を取得します。
構文:to_days(date)
結果は日数を取得します。この日数は引数値と西暦0年との間の日数です。引数はDateまたは文字列値をサポートし、戻り結果は数値型です。
yearweek 関数
指定された日付の年と週番号を取得する関数です。
構文:yearweek(date[,mode])
結果は週数です。dateは計算対象の日付(例:'2025-06-15')です。modeはオプションの引数で、週の開始日を指定します。デフォルトは0で、週の開始日は日曜日を意味します。戻り値の型は数値型です。
time関数
時間または日付式から時間部分を抽出し、文字列として返します。
構文:time(expr)
結果は時間を取得します。exprには時間型または日時型を指定できます。戻り値の型は文字列です。exprが空の場合は、空を返します。
date_format関数
日付書式設定関数。
構文:date_format(date1, format)
date1がサポートする値の型:date、datetime、char、varchar データ型をサポートします。date1がnullを含むシナリオはサポートしません。formatは日付/時刻の出力フォーマットを指定します。使用可能なフォーマットは以下の通りです。
|
%a | 曜日名の略語を返します。 |
%b | 月名の略語を返します。 |
%c | 月、数値。 |
%D | 英語プレフィックス付きの月内の日付。 |
%d | 月の日、数値(00 - 31)。 |
%e | 月の日、数値(0 - 31)。 |
%f | マイクロ秒。 |
%H | 時(00 - 23)。 |
%h | 時(01 - 12)。 |
%I | 時(01 - 12)。 |
%i | 分、数値(00 - 59)。 |
%j | 年間の日(001 - 366)。 |
%k | 時(0 - 23)。 |
%l | 時(1 - 12)。 |
%M | 月名。 |
%m | 月、数値(00 -12)。 |
%p | AM または PM。 |
%r | 時間、12時間制(hh:mm:ss AM または PM)。 |
%S | 秒、数値(00 - 59)。 |
%s | 秒(00 - 59)。 |
%T | 時間、24時間制(hh:mm:ss)。 |
%U | 週(00 - 53)。日曜日が週の最初の日となります。 |
%u | 週(00 - 53)。月曜日が週の最初の日となります。 |
%V | 週(01 - 53)。日曜日が週の最初の日となり、%Xとともに使用します。 |
%v | 週(01 - 53)。月曜日が週の最初の日となり、%xとともに使用します。 |
%W | 曜日名。 |
%w | 曜日(0=日曜日、6=土曜日)。 |
%X | 年、日曜日を週の最初の日とする4桁の数値で、%Vとともに使用します。 |
%x | 年、月曜日を週の最初の日とする4桁の数値で、%vとともに使用します。 |
%Y | 年(4桁)。 |
%y | 年、2桁。 |