En Oracle Database, el NUMTODSINTERVAL()
función convierte un número a un INTERVAL DAY TO SECOND
literal.
Sintaxis
La sintaxis es así:
NUMTODSINTERVAL(n, 'interval_unit')
El n
argumento es el número por el cual convertir.
El valor de interval_unit
especifica la unidad de n
y debe resolverse en uno de los siguientes valores de cadena:
- ‘
DAY
‘ - ‘
HOUR
‘ - ‘
MINUTE
‘ - ‘
SECOND
‘
La interval_unit
el argumento no distingue entre mayúsculas y minúsculas.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT NUMTODSINTERVAL(1, 'SECOND')
FROM DUAL;
Resultado:
+00 00:00:01.000000
Aquí hay otro que usa un minuto:
SELECT NUMTODSINTERVAL(1, 'MINUTE')
FROM DUAL;
Resultado:
+00 00:01:00.000000
Segundos fraccionarios
De forma predeterminada, la precisión de la devolución es 9. Aquí hay uno que especifica segundos fraccionarios en el primer argumento:
SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM DUAL;
Resultado:
+00 00:00:10.123456789
Esto es lo que sucede si lo cambiamos a otra unidad de intervalo:
SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
FROM DUAL;
Resultado:
+10 02:57:46.666569600
Argumentos nulos
Pasando null
para cualquier argumento da como resultado null
:
SET NULL 'null';
SELECT
NUMTODSINTERVAL(1, null),
NUMTODSINTERVAL(null, 'SECOND')
FROM DUAL;
Resultado:
NUMTODSINTERVAL(1,NULL) NUMTODSINTERVAL(NULL,'SECOND') __________________________ _________________________________ null null
De forma predeterminada, SQLcl y SQL*Plus devuelven un espacio en blanco cada vez que null
ocurre como resultado de un SQL SELECT
declaración.
Sin embargo, puede usar SET NULL
para especificar una cadena diferente a devolver. Aquí especifiqué que la cadena null
debe ser devuelto.
Argumento faltante
Llamar a la función con el número incorrecto de argumentos, o sin pasar ningún argumento, genera un error:
SELECT NUMTODSINTERVAL()
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT NUMTODSINTERVAL() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: