Cloud Software Group, Inc. EBX®
ドキュメント > 開発者ガイド > EBX® の SQL
ナビゲーションモードドキュメント > 開発者ガイド > EBX® の SQL

日付と時刻の関数

次の表は、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