プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
12cリリース1 (12.1)
B71278-13
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

TO_DSINTERVAL

構文

to_dsinterval.gifの説明が続きます。
図to_dsinterval.gifの説明

sql_format::=

sql_format.gifの説明が続きます。
図sql_format.gifの説明

ds_iso_format::=

ds_iso_format.gifの説明が続きます。
図ds_iso_format.gifの説明


注意:

以前のリリースでは、TO_DSINTERVALファンクションはオプションのnlsparam句を受け入れました。この句は下位互換性のために現在も受け入れられますが、効果はありません。

用途

TO_DSINTERVALは、CHARVARCHAR2NCHARまたはNVARCHAR2データ型の文字列を、INTERVAL DAY TO SECOND型に変換します。

TO_DSINTERVALは、2つの書式のいずれかの引数を取ります。

SQL書式では、daysは0(ゼロ)から999999999の整数、hoursは0(ゼロ)から23の整数、minutessecondsは0(ゼロ)から59の整数になります。frac_secsは秒の小数部であり、.0から.999999999になります。日付と時間は1つ以上の空白で区切ります。これ以外に、書式要素の間に空白を使用できます。

ISO書式では、dayshoursminutesおよびsecondsは、0(ゼロ)から999999999の整数になります。frac_secsは秒の小数部であり、.0から.999999999になります。値には空白を使用できません。Tを指定する場合は、hoursminutesまたはsecondsの値を少なくとも1つ指定する必要があります。

次の例では、SQL書式を使用して、2002年11月1日から100日以上勤務している従業員をhr.employees表から検索します。

SELECT employee_id, last_name FROM employees
   WHERE hire_date + TO_DSINTERVAL('100 00:00:00')
   <= DATE '2002-11-01'
   ORDER BY employee_id;

EMPLOYEE_ID LAST_NAME
----------- ---------------
        102 De Haan
        203 Mavris
        204 Baer
        205 Higgins
        206 Giet

次の例では、ISO書式を使用して、2009年の始めから100日と5時間後のタイムスタンプを表示します。

SELECT TO_CHAR(TIMESTAMP '2009-01-01 00:00:00' + TO_DSINTERVAL('P100DT05H'),
   'YYYY-MM-DD HH24:MI:SS') "Time Stamp"
     FROM DUAL;

Time Stamp
-------------------
2009-04-11 05:00:00