説明
この関数は、CHAR、VARCHAR2、NCHAR、または NVARCHAR2 データ型の文字列を INTERVAL YEAR TO MONTH データ型の値に変換します。日付時刻値に対する加減算を行うために使用できます。
構文
/*SQL 日付形式*/
TO_YMINTERVAL([+|-] years-months)
/*ISO 日付形式*/
TO_YMINTERVAL([-]P[ years Y][months M][days D][T[hours H][minutes M][seconds[.frac_secs]S]])
パラメータの説明
| パラメータ | 説明 |
|---|---|
| [+|-] years-months | このパラメータの形式に一致する CHAR、VARCHAR2、NCHAR、または NVARCHAR2 データ型の文字列。
|
| [-]P[ years Y][months M][days D][T[hours H][minutes M][seconds[.frac_secs]S]] | このパラメータの形式に一致する CHAR、VARCHAR2、NCHAR、または NVARCHAR2 データ型の文字列。 fracsecs は秒の小数部分を表し、整数値で、範囲は [0,999999999] です。注記 値にスペースを含めることはできません。 |
戻り値のタイプ
INTERVAL YEAR TO MONTH データ型を返します。
例
現在の時間から 1 年 2 ヶ月後の日付時刻値を返します。
obclient> SELECT SYSDATE,SYSDATE+TO_YMINTERVAL('01-02') FROM DUAL;
+-----------+--------------------------------+
| SYSDATE | SYSDATE+TO_YMINTERVAL('01-02') |
+-----------+--------------------------------+
| 18-NOV-21 | 18-JAN-23 |
+-----------+--------------------------------+
1 row in set
2年6か月10日4時間30分15秒の時間間隔を指定するには、次の例を使用できます。
obclient> SELECT TO_YMINTERVAL('P2Y6M10DT4H30M15S') FROM dual;
+------------------------------------+
| TO_YMINTERVAL('P2Y6M10DT4H30M15S') |
+------------------------------------+
| +000000002-06 |
+------------------------------------+
1 row in set
以下は負の時間間隔の例です。3年1か月5日を引く必要があると仮定した場合、次の例を使用できます。
obclient> SELECT TO_YMINTERVAL('-P3Y1M5D') FROM dual;
+---------------------------+
| TO_YMINTERVAL('-P3Y1M5D') |
+---------------------------+
| -000000003-01 |
+---------------------------+
1 row in set