日付と時刻の関数
次の表は、EBX®でサポートされているすべての SQL 日付および時刻関数と、それらの標準 SQL 構文を示しています。一部の関数には、オプションのパラメーターがある場合があります。それらは角括弧で囲まれています。
| 演算子の構文 | 説明と例 | 
| CURRENT_TIME | データ型 TIMESTAMPWITH TIME ZONE の値で、セッションタイムゾーンの現在の時刻を返します。 | 
| CURRENT_DATE | データ型 DATE の値で、セッションタイムゾーンの現在の日付を返します。 | 
| CURRENT_TIMESTAMP | データ型 TIMESTAMP WITH TIME ZONE の値で、セッションタイムゾーンの現在の日付と時刻を返します。 | 
| 文字列をタイムスタンプにキャスト | EBX (UI およびエクスポートファイル) で表示される日時値はローカルタイムゾーンであるのに対し、SQL パーサーによって作成されたタイムスタンプリテラルは UTC であることに注意してください。したがって、サーバーが UTC でない場合は、この不一致を回避して期待どおりの結果を得るために、ローカルタイムゾーンでリテラルを作成する必要がある場合があります (3 番目の例を参照)。フィルターを作成するには、日時値がミリ秒の精度 (EBX UI では表示されない) かどうかも考慮する必要があります (最後の例を参照)。 SELECT COUNT(*) FROM employee WHERE lastProfileUpdateTime=TIMESTAMP'2017-06-28 18:06:12' :  0
 SELECT COUNT(*) FROM employee WHERE lastProfileUpdateTime=CAST('2017-06-28 18:06:12' AS TIMESTAMP) :  0
 SELECT COUNT(*) FROM employee WHERE lastProfileUpdateTime=CAST('2017-06-28 18:06:12 Europe/Paris' AS TIMESTAMP WITH LOCAL TIME ZONE) :  1
 SELECT COUNT(*) FROM employee e WHERE e."ebx-metadata"."system"."update_time">=TIMESTAMP'2023-08-28 09:56:55' AND e."ebx-metadata"."system"."update_time"<TIMESTAMP'2023-08-28 09:56:56' :  1
 | 
| YEAR(date) | 日時値式から年の値を抽出して返します。整数を返します。 SELECT YEAR(TIMESTAMP '1971-07-20 09:34:21') :  1971
 SELECT YEAR(DATE '1968-07-20') :  1968
 SELECT YEAR(hiringDate) FROM employee WHERE name='Smith' :  2015
 SELECT YEAR(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  2017
 | 
| QUARTER(date) | 日時値式から四半期の値を抽出して返します。1 から 4 までの整数を返します。 SELECT QUARTER(TIMESTAMP '1971-07-20 09:34:21') :  3
 SELECT QUARTER(hiringDate) FROM employee WHERE name='Smith' :  4
 SELECT QUARTER(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  2
 | 
| QUARTER(date) | 日時値式から月の値を抽出して返します。1 から 12 までの整数を返します。 SELECT MONTH(TIMESTAMP '1971-07-20 09:34:21') :  7
 SELECT MONTH(hiringDate) FROM employee WHERE name='Smith' :  10
 SELECT MONTH(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  6
 | 
| WEEK(date) | 日時値式から週の値を抽出して返します。1 から 53 までの整数を返します。 SELECT WEEK(TIMESTAMP '1971-07-20 09:34:21') :  29
 SELECT WEEK(hiringDate) FROM employee WHERE name='Smith' :  42
 SELECT WEEK(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  26
 | 
| DAYOFYEAR(date) | 日時値式から日付 (年単位) の値を抽出して返します。1 から 366 までの整数を返します。 SELECT DAYOFYEAR(TIMESTAMP '1971-07-20 09:34:21') :  201
 SELECT DAYOFYEAR(hiringDate) FROM employee WHERE name='Smith' :  287
 SELECT DAYOFYEAR(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  179
 | 
| DAYOFMONTH(date) | 日時値式から日 (月単位) の値を抽出して返します。1 から 31 までの整数を返します。 SELECT DAYOFMONTH(TIMESTAMP '1971-07-20 09:34:21') :  20
 SELECT DAYOFMONTH(hiringDate) FROM employee WHERE name='Smith' :  14
 SELECT DAYOFMONTH(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  28
 | 
| DAYOFWEEK(date) | 日時値式から曜日の値を抽出して返します。1 から 7 までの整数を返します。 SELECT DAYOFWEEK(TIMESTAMP '1971-07-20 09:34:21') :  3
 SELECT DAYOFWEEK(hiringDate) FROM employee WHERE name='Smith' :  4
 SELECT DAYOFWEEK(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  4
 | 
| HOUR(date) | 日時値式から時間の値を抽出して返します。0 から 23 までの整数を返します。 SELECT HOUR(TIMESTAMP '1971-07-20 09:34:21') :  9
 SELECT HOUR(TIME '10:34:21') :  10
 SELECT HOUR(workStart) FROM employee WHERE name='Smith' :  8
 SELECT HOUR(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  16
 | 
| MINUTE(date) | 日時値式から分の値を抽出して返します。0 から 59 までの整数を返します。 SELECT MINUTE(TIMESTAMP '1971-07-20 09:34:21') :  34
 SELECT MINUTE(TIME '10:35:21') :  35
 SELECT MINUTE(workStart) FROM employee WHERE name='Smith' :  0
 SELECT MINUTE(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  6
 | 
| SECOND(date) | 日時値式から秒の値を抽出して返します。0 から 59 までの整数を返します。 SELECT HOUR(TIMESTAMP '1969-07-20 09:34:21') :  9
 SELECT SECOND(TIME '10:34:22') :  22
 SELECT SECOND(workStart) FROM employee WHERE name='Smith' :  0
 SELECT SECOND(lastProfileUpdateTime) FROM employee WHERE name='Smith' :  12
 | 
ドキュメント > 開発者ガイド > EBX® の SQL