NUMTODSINTERVAL
構文
目的
NUMTODSINTERVALは、nをINTERVAL DAY TO SECONDリテラルに変換します。引数nには、任意のNUMBER値か、またはNUMBER値に暗黙的に変換可能な式を指定できます。引数interval_unitのデータ型は、CHAR、VARCHAR2、NCHARまたはNVARCHAR2です。interval_unitの値にはnの単位を指定します。この値は次の文字列値のいずれかである必要があります。
-
'
DAY' -
'
HOUR' -
'
MINUTE' -
'
SECOND'
interval_unitでは、大/小文字は区別されません。カッコ内の先行値および後続値は無視されます。デフォルトでは、戻り値の精度は9です。
関連項目:
暗黙的な変換の詳細は、表2-9を参照してください
例
次の例では、COUNT分析ファンクションにNUMTODSINTERVALを使用し、各従業員について、雇用開始日から過去100日以内に同じマネージャの部下として配属された従業員の人数を計算します。分析ファンクションの構文の詳細は、「分析ファンクション」を参照してください。
SELECT manager_id, last_name, hire_date,
COUNT(*) OVER (PARTITION BY manager_id ORDER BY hire_date
RANGE NUMTODSINTERVAL(100, 'day') PRECEDING) AS t_count
FROM employees
ORDER BY last_name, hire_date;
MANAGER_ID LAST_NAME HIRE_DATE T_COUNT
---------- ------------------------- --------- ----------
149 Abel 11-MAY-04 1
147 Ande 24-MAR-08 3
121 Atkinson 30-OCT-05 2
103 Austin 25-JUN-05 1
. . .
124 Walsh 24-APR-06 2
100 Weiss 18-JUL-04 1
101 Whalen 17-SEP-03 1
100 Zlotkey 29-JAN-08 2