Dans Oracle Database, le NUMTODSINTERVAL()
la fonction convertit un nombre en INTERVAL DAY TO SECOND
littéral.
Syntaxe
La syntaxe ressemble à ceci :
NUMTODSINTERVAL(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 :
- ‘
DAY
‘ - ‘
HOUR
‘ - ‘
MINUTE
‘ - ‘
SECOND
‘
L'interval_unit
l'argument est insensible à la casse.
Exemple
Voici un exemple pour illustrer :
SELECT NUMTODSINTERVAL(1, 'SECOND')
FROM DUAL;
Résultat :
+00 00:00:01.000000
En voici une autre qui utilise une minute :
SELECT NUMTODSINTERVAL(1, 'MINUTE')
FROM DUAL;
Résultat :
+00 00:01:00.000000
Fraction de seconde
Par défaut, la précision du retour est 9. En voici une qui spécifie des fractions de secondes dans le premier argument :
SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM DUAL;
Résultat :
+00 00:00:10.123456789
Voici ce qui se passe si nous le remplaçons par une autre unité d'intervalle :
SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
FROM DUAL;
Résultat :
+10 02:57:46.666569600
Arguments nuls
Passer null
pour l'un ou l'autre des arguments, les résultats sont null
:
SET NULL 'null';
SELECT
NUMTODSINTERVAL(1, null),
NUMTODSINTERVAL(null, 'SECOND')
FROM DUAL;
Résultat :
NUMTODSINTERVAL(1,NULL) NUMTODSINTERVAL(NULL,'SECOND') __________________________ _________________________________ 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 NUMTODSINTERVAL()
FROM DUAL;
Résultat :
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: