En Oracle Database, el NUMTOYMINTERVAL()
función convierte un número a un INTERVAL YEAR TO MONTH
literal.
Sintaxis
La sintaxis es así:
NUMTOYMINTERVAL(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:
- ‘
YEAR
‘ - ‘
MONTH
‘
La interval_unit
el argumento no distingue entre mayúsculas y minúsculas.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
Resultado:
+00-01
Aquí hay otro que usa el año:
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
Resultado:
+01-00
Fracciones
Aquí hay uno que contiene una parte fraccionaria en el primer argumento:
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
Resultado:
Year Month _________ _________ +10-07 +00-11
Sensibilidad de mayúsculas y minúsculas
El segundo argumento no distingue entre mayúsculas y minúsculas:
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
Resultado:
YEAR year __________ __________ +150-00 +150-00
Argumentos nulos
Pasando null
para cualquier argumento da como resultado null
:
SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
Resultado:
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ _______________________________ 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 NUMTOYMINTERVAL()
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT NUMTOYMINTERVAL() 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: