No banco de dados Oracle, o
NUMTOYMINTERVAL()
função converte um número em um INTERVAL YEAR TO MONTH
literal. Sintaxe
A sintaxe fica assim:
NUMTOYMINTERVAL(n, 'interval_unit')
O
n
argumento é o número para o qual converter. O valor para
interval_unit
especifica a unidade de n
e deve resolver para um dos seguintes valores de string:- '
YEAR
' - '
MONTH
'
O
interval_unit
argumento não diferencia maiúsculas de minúsculas. Exemplo
Segue um exemplo para demonstrar:
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
Resultado:
+00-01
Aqui está outro que usa o ano:
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
Resultado:
+01-00
Frações
Aqui está um que contém uma parte fracionária no primeiro argumento:
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
Resultado:
Year Month _________ _________ +10-07 +00-11
Sensibilidade de maiúsculas e minúsculas
O segundo argumento não diferencia maiúsculas de minúsculas:
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
Resultado:
YEAR year __________ __________ +150-00 +150-00
Argumentos nulos
Passando
null
para qualquer argumento resulta em null
:SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
Resultado:
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ _______________________________ null null
Por padrão, SQLcl e SQL*Plus retornam um espaço em branco sempre que
null
ocorre como resultado de um SQL SELECT
demonstração. No entanto, você pode usar
SET NULL
para especificar uma string diferente a ser retornada. Aqui eu especifiquei que a string null
deve ser devolvido. Argumento ausente
Chamar a função com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:
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: