In Oracle Database, il NUMTODSINTERVAL()
la funzione converte un numero in un INTERVAL DAY TO SECOND
letterale.
Sintassi
La sintassi è questa:
NUMTODSINTERVAL(n, 'interval_unit')
Il n
argomento è il numero per cui convertire.
Il valore per interval_unit
specifica l'unità di n
e deve risolversi in uno dei seguenti valori di stringa:
- '
DAY
' - '
HOUR
' - '
MINUTE
' - '
SECOND
'
L'interval_unit
l'argomento non fa distinzione tra maiuscole e minuscole.
Esempio
Ecco un esempio da dimostrare:
SELECT NUMTODSINTERVAL(1, 'SECOND')
FROM DUAL;
Risultato:
+00 00:00:01.000000
Eccone un altro che impiega un minuto:
SELECT NUMTODSINTERVAL(1, 'MINUTE')
FROM DUAL;
Risultato:
+00 00:01:00.000000
Secondi frazionari
Per impostazione predefinita, la precisione del ritorno è 9. Eccone uno che specifica i secondi frazionari nel primo argomento:
SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM DUAL;
Risultato:
+00 00:00:10.123456789
Ecco cosa succede se lo cambiamo in un'altra unità di intervallo:
SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
FROM DUAL;
Risultato:
+10 02:57:46.666569600
Argomenti nulli
Passaggio null
per entrambi gli argomenti risulta null
:
SET NULL 'null';
SELECT
NUMTODSINTERVAL(1, null),
NUMTODSINTERVAL(null, 'SECOND')
FROM DUAL;
Risultato:
NUMTODSINTERVAL(1,NULL) NUMTODSINTERVAL(NULL,'SECOND') __________________________ _________________________________ null null
Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null
si verifica come risultato di un SQL SELECT
dichiarazione.
Tuttavia, puoi utilizzare SET NULL
per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null
deve essere restituito.
Argomento mancante
Chiamando la funzione con il numero errato di argomenti, o senza passare alcun argomento, si verifica un errore:
SELECT NUMTODSINTERVAL()
FROM DUAL;
Risultato:
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: