NUMTODSINTERVAL

構文

目的

NUMTODSINTERVALは、nINTERVAL DAY TO SECONDリテラルに変換します。引数nには、任意のNUMBER値か、またはNUMBER値に暗黙的に変換可能な式を指定できます。引数interval_unitのデータ型は、CHARVARCHAR2NCHARまたは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