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

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

前
次
機械翻訳について

TRUNCを使用したdateTime値の切捨て

TRUNC関数を使用して、dateTime値をより粗い粒度に丸めることができます。

たとえば、これは、各四半期の取引明細書結果データをdateTime属性を使用してグループ化する場合に役立ちます。

TRUNC関数の構文は、次のとおりです:
<TruncExpr>     ::=  TRUNC(<expr>,<DateTimeUnit>)
<dateTimeUnit>  ::=  MILLISECOND| SECOND | MINUTE | HOUR |
                     DATE | WEEK | MONTH | QUARTER | YEAR
                     DAY_OF_WEEK | DAY_OF_MONTH | DAY_OF_YEAR
                     JULIAN_DAY_NUMBER

注意:

WEEKにより、直前の日曜日に切り捨てられます。
たとえば、dateTime属性TimeStampには10/13/2015 11:35:12.000を表す値があります。 次のリストは、TRUNC演算子を使用して、各粒度レベルでTimeStamp値を丸める結果を示しています。 ここに示す値は、実際の値の読取りが簡単になるフォーマットで表示され、標準のDgraph dateTimeフォーマットを使用します。
TRUNC("TimeStamp", MILLISECOND)       = 10/13/2015 11:35:12.000
TRUNC("TimeStamp", SECOND)            = 10/13/2015 11:35:12.000
TRUNC("TimeStamp", MINUTE)            = 10/13/2015 11:35:00.000
TRUNC("TimeStamp", HOUR)              = 10/13/2015 11:00:00.000
TRUNC("TimeStamp", DATE)              = 10/13/2015 00:00:00.000
TRUNC("TimeStamp", WEEK)              = 10/09/2015 00:00:00.000
TRUNC("TimeStamp", MONTH)             = 10/01/2015 00:00:00.000
TRUNC("TimeStamp", QUARTER)           = 10/01/2015 00:00:00.000
TRUNC("TimeStamp", YEAR)              = 01/01/2015 00:00:00.000
TRUNC("TimeStamp", DAY_OF_WEEK)       = 10/13/2015 00:00:00:000
TRUNC("TimeStamp", DAY_OF_MONTH)      = 10/13/2015 00:00:00:000
TRUNC("TimeStamp", DAY_OF_YEAR)       = 10/13/2015 00:00:00:000
TRUNC("TimeStamp", JULIAN_DAY_NUMBER) = 10/13/2015 00:00:00:000
次に、この機能を使用するための簡単な例を示します。 次の文では、金額属性の合計値が四半期ごとにグループ化されています。 四半期は、TimeStamp属性に対するTRUNC操作を使用して取得されます:
RETURN Quarters AS
SELECT SUM(Amount) AS Total,
       ARB(TRUNC(TimeStamp, QUARTER)) AS Qtr
FROM SaleState
GROUP BY Qtr