説明
この関数は、CHAR、VARCHAR2、NCHAR、または NVARCHAR2 データ型の文字列を INTERVAL DAY TO SECOND データ型の値に変換します。日付時刻値に対する加減算に使用できます。
構文
/*SQL 日付フォーマット*/
TO_DSINTERVAL ('[+ | -] days hours:minutes:seconds[.frac_secs]')
/*ISO 日付フォーマット*/
TO_DSINTERVAL ('[-] P[days D]
[T[hours H][minutes M][seconds[.frac_secs]S]]')
パラメータの説明
| パラメータ | 説明 |
|---|---|
| [+ | -]days hours:minutes:seconds[.frac_secs] | このパラメータの形式に一致する CHAR、VARCHAR2、NCHAR、または NVARCHAR2 データ型の文字列。
|
| [-] P[days D] [T[hours H][minutes M][seconds[.frac_secs]S] | このパラメータの形式に一致する CHAR、VARCHAR2、NCHAR、または NVARCHAR2 データ型の文字列。注意 値にスペースを含めることはできません。 |
| frac_secs | 秒の小数部を表し、整数値として取得します。範囲は [0,999999999] です。 |
戻り値の型
INTERVAL DAY TO SECONDデータ型を返します。
例
SQL形式で、2021年11月11日から
100日後の日付時刻値を返します。obclient> SELECT TO_CHAR(TIMESTAMP '2021-11-11 00:00:00'+TO_DSINTERVAL('100 00:00:00'), 'YYYY-MM-DD HH24:MI:SS') "Time Stamp" FROM DUAL; +---------------------+ | Time Stamp | +---------------------+ | 2022-02-19 00:00:00 | +---------------------+ 1 row in setISO形式で、2021年12月12日から
100日10時間後の日付時刻値を返します。obclient> SELECT TO_CHAR(TIMESTAMP '2021-11-11 00:00:00'+TO_DSINTERVAL('P100DT5H'), 'YYYY-MM-DD HH24:MI:SS') "Time Stamp" FROM DUAL; +---------------------+ | Time Stamp | +---------------------+ | 2022-02-19 05:00:00 | +---------------------+ 1 row in set