プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

日時値の構成

EQLには、式を使用して時間、日付または期間を表すタイムスタンプを作成する関数があります。

式が文字列の場合、特定の書式である必要があります。 書式が無効、または値が範囲外の場合、その結果はNULLになります。

機能 説明 書式
TO_TIME 時間を表すタイムスタンプを構築します。

<TimeStringFormat> ::= hh:mm:ss[.sss]((+|-) hh:mm |Z)

TO_DATETIME 日付と時間を表すタイムスタンプを構築します。 この関数文字列インタフェースの構文、日付のみの数値インタフェースおよび日時の数値インタフェースについては、次の項を参照してください。
TO_DURATION 期間を表すタイムスタンプを構築します。 <DurationStringFormat> ::=

[-]P[<Days>][T(<Hours>[<Minutes>}[<Seconds>]|

<Minutes>[<Seconds>]|

<Seconds>)]

<Days> ::= <Integer>D

<Hours> ::= <Integer>H

<Minutes> ::= <Integer>M

<Seconds> ::= <Integer>[.<Integer>]S

前述の「形式」列で示されているように、TO_TIMEおよびTO_DATETIMEではタイム・ゾーン・オフセットを受け入れます。 ただし、EQLではオフセット値は格納されません。 かわりに、GMTタイム・ゾーンに正規化された値を格納します。

次の表に、いくつかの日時式の出力を示します:
正規化された値
TO_DATETIME('2016-07-21T16:00:00.000+02:00') 2016-07-21T14:00:00.000Z
TO_DATETIME('2016-07-31T20:00:00.000-06:00') 2016-08-01T02:00:00.000Z
TO_DATETIME('2016-06-15T20:00:00.000Z') 2016-06-15T20:00:00.000Z
TO_TIME('23:00:00.000+03:00') 20:00:00.000Z
TO_TIME('15:00:00.000-10:00') 01:00:00.000Z

TO_DATETIME形式

この関数の単一引数文字列インタフェースは、次のとおりです:
TO_DATETIME(<DateTimeString>)
説明:
<DateTimeString> ::= [-]YYYY-MM-DDT<TimeStringFormat>

前述の表に、文字列インタフェースの3つの例を示します。

数値インタフェースのシグネチャは次のとおりです:
TO_DATETIME(<Year>, <Month>, <Day>)

TO_DATETIME(<Year>, <Month>, <Day>, <Hour>, <Minute>, <Second>, <Millisecond>)
この場合、すべての引数は整数です。

最初のシグネチャでは、時間引数はゼロで埋められます。 どちらのシグネチャでも、タイム・ゾーンはUTCであるとみなされます。 タイムゾーン情報が存在する場合、次の例に示すように、期間(TO_DURATION)およびタイムゾーン(TO_TZ)構成を使用できます。

数値インタフェース・シグネチャの例を次に示します:
TO_DATETIME(2016, 7, 22)

TO_DATETIME(2016, 7, 22, 23, 15, 50, 500)

TO_DATETIME(2016, 7, 22, 23, 15, 50, 500) + TO_DURATION(1000)

TO_TZ(TO_DATETIME(2016, 7, 22, 23, 15, 50, 500), 'America/New_York')