Dans Oracle Database, le NUMTOYMINTERVAL()
la fonction convertit un nombre en INTERVAL YEAR TO MONTH
littéral.
Syntaxe
La syntaxe ressemble à ceci :
NUMTOYMINTERVAL(n, 'interval_unit')
Le n
l'argument est le nombre pour lequel convertir.
La valeur de interval_unit
spécifie l'unité de n
et doit correspondre à l'une des valeurs de chaîne suivantes :
- ‘
YEAR
‘ - ‘
MONTH
‘
L'interval_unit
l'argument est insensible à la casse.
Exemple
Voici un exemple pour illustrer :
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
Résultat :
+00-01
En voici une autre qui utilise l'année :
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
Résultat :
+01-00
Fractions
En voici une qui contient une partie fractionnaire dans le premier argument :
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
Résultat :
Year Month _________ _________ +10-07 +00-11
Sensibilité à la casse
Le deuxième argument est insensible à la casse :
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
Résultat :
YEAR year __________ __________ +150-00 +150-00
Arguments nuls
Passer null
pour l'un ou l'autre des arguments, les résultats sont null
:
SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
Résultat :
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ _______________________________ null null
Par défaut, SQLcl et SQL*Plus renvoient un espace vide chaque fois que null
se produit à la suite d'un SQL SELECT
déclaration.
Cependant, vous pouvez utiliser SET NULL
pour spécifier une autre chaîne à renvoyer. Ici, j'ai précisé que la chaîne null
doit être retourné.
Argument manquant
Appeler la fonction avec le mauvais nombre d'arguments, ou sans passer d'arguments, génère une erreur :
SELECT NUMTOYMINTERVAL()
FROM DUAL;
Résultat :
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: