The two first converts strings, the later two converts numbers. All functions returns data of datatype INTERVAL.
TO_DSINTERVAL(sql_format)
* Converts a string into a value of the INTERVAL DAY TO SECOND datatype
* sql_format is a character string in the required format, which is 'DAYS HH24:MI:SS.FF'
* For example, the string '2 8:30:15.444' would equal 2 days, 8 hours, 30 minutes, 15.444 seconds.
Output: A value of the INTERVAL DAY TO SECOND datatype
Example:
SELECT TO_DSINTERVAL(INTERVAL '4' HOUR) "HOUR"
FROM DUAL;
HOUR |
---|
+00 04:00:00.000000 |
TO_YMINTERVAL('y-m')
* Converts y and m into the years and months in a format recognized by the INTERVAL YEAR TO MONTH datatype
* y and m are numbers within a string
Output: A value of the INTERVAL YEAR TO MONTH datatype
Example:
SELECT TO_YMINTERVAL(INTERVAL '36' MONTH) "MONTH"
FROM DUAL;
MONTH |
---|
+03-00 |
NUMTOYMINTERVAL(n, u)
* Converts a number into a value that represents the u unit amount of time
n = number
u = 'YEAR' or 'MONTH'
* Output: a value of the INTERVAL YEAR TO MONTH datatype
Example:
SELECT NUMTOYMINTERVAL(4, 'MONTH') "MONTH"
FROM DUAL;
MONTH |
---|
+00-04 |
NUMTODSINTERVAL(n, u)
Converts a number into a value that represents the u unit amount of time
n = number
u = 'DAY', 'HOUR', 'MINUTE', 'SECOND'
Output: a value of the INTERVAL DAY TO SECOND datatype
Example:
SELECT NUMTODSINTERVAL(2,'MINUTE') "MINUTE"
FROM DUAL;
MINUTE |
---|
+00 00:02:00.000000 |