Oracle NUMTODSINTERVAL() Function
Oracle NUMTODSINTERVAL() is a built-in function that converts a given number to text in INTERVAL DAY TO SECOND format.
Oracle NUMTODSINTERVAL() Syntax
Here is the syntax of the Oracle NUMTODSINTERVAL() function:
NUMTODSINTERVAL(n, 'interval_unit')
Parameters
n-
Required. It can be any
NUMBERvalue or an expression that can be implicitly converted to aNUMBERvalue. 'interval_unit'-
Required. It can be of
CHAR,VARCHAR2,NCHAR, orNVARCHAR2data type. It indicates the unit ofn, and it must be one of the following values, and is case-insensitive:'DAY''HOUR''MINUTE''SECOND'
Return Value
The Oracle NUMTODSINTERVAL() function returns text in INTERVAL DAY TO SECOND format converted from the given number.
By default, the returned precision is 9.
If any of the parameters is NULL, NUMTODSINTERVAL() returns NULL.
Oracle NUMTODSINTERVAL() Examples
Here are some examples that demonstrate how to use the Oracle NUMTODSINTERVAL() function.
Day
To create an interval value of 1 day, use the following statement:
SELECT
NUMTODSINTERVAL(1, 'DAY')
FROM dual;
Output:
NUMTODSINTERVAL(1,'DAY')
___________________________
+01 00:00:00.000000Hour
To create an interval value of 2 hours, use the following statement:
SELECT
NUMTODSINTERVAL(2, 'HOUR')
FROM dual;
Output:
NUMTODSINTERVAL(2,'HOUR')
____________________________
+00 02:00:00.000000Minute
To create an interval value of 3 minutes, use the following statement:
SELECT
NUMTODSINTERVAL(3, 'MINUTE')
FROM dual;
Output:
NUMTODSINTERVAL(3,'MINUTE')
______________________________
+00 00:03:00.000000Second
To create an interval value of 4 seconds, use the following statement:
SELECT
NUMTODSINTERVAL(4, 'SECOND')
FROM dual;
Output:
NUMTODSINTERVAL(4,'SECOND')
______________________________
+00 00:00:04.000000You can provide a value with a fraction to include fractional seconds,
SELECT
NUMTODSINTERVAL(4.123123, 'SECOND')
FROM dual;
Output:
NUMTODSINTERVAL(4,'SECOND')
______________________________
+00 00:00:04.000000The maximum precision for fractional seconds is 9 digits, and if it exceeds 9 digits, the fractional seconds are rounded to 9 digits:
SELECT
NUMTODSINTERVAL(4.1111111115, 'SECOND')
FROM dual;
Output:
NUMTODSINTERVAL(4.1111111115,'SECOND')
_________________________________________
+00 00:00:04.111111112NULL Parameters
If either argument is NULL, NEXT_DAY() returns NULL.
SET NULL 'NULL';
SELECT
NUMTODSINTERVAL(NULL, 'DAY') NULL_1,
NUMTODSINTERVAL(1, NULL) NULL_2,
NUMTODSINTERVAL(NULL, NULL) NULL_3
FROM dual;
Output:
NULL_1 NULL_2 NULL_3
_________ _________ _________
NULL NULL NULLIn this example, the SET NULL 'NULL'; statement is used to display NULL values as the string 'NULL'.
Conclusion
Oracle NUMTODSINTERVAL() is a built-in function that converts a given number to text in INTERVAL DAY TO SECOND format.