sql >> Database teknologi >  >> RDS >> Oracle

NUMTODSINTERVAL() Funktion i Oracle

I Oracle Database er NUMTODSINTERVAL() funktion konverterer et tal til en INTERVAL DAY TO SECOND bogstaveligt.

Syntaks

Syntaksen ser sådan ud:

NUMTODSINTERVAL(n, 'interval_unit')

n argument er det tal, der skal konverteres til.

Værdien for interval_unit angiver enheden for n og skal løses til en af ​​følgende strengværdier:

  • DAY '
  • HOUR '
  • MINUTE '
  • SECOND '

interval_unit argumentet er ufølsomt for store og små bogstaver.

Eksempel

Her er et eksempel til demonstration:

SELECT NUMTODSINTERVAL(1, 'SECOND')
FROM DUAL;

Resultat:

+00 00:00:01.000000

Her er en anden, der bruger et minut:

SELECT NUMTODSINTERVAL(1, 'MINUTE')
FROM DUAL;

Resultat:

+00 00:01:00.000000

Brøksekunder

Som standard er præcisionen af ​​returneringen 9. Her er en, der angiver brøkdele sekunder i det første argument:

SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM DUAL;

Resultat:

+00 00:00:10.123456789

Her er, hvad der sker, hvis vi ændrer den til en anden intervalenhed:

SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
FROM DUAL;

Resultat:

+10 02:57:46.666569600

Nul-argumenter

Sender null for begge argumenter resulterer i null :

SET NULL 'null';
SELECT 
    NUMTODSINTERVAL(1, null),
    NUMTODSINTERVAL(null, 'SECOND')
FROM DUAL;

Resultat:

   NUMTODSINTERVAL(1,NULL)    NUMTODSINTERVAL(NULL,'SECOND') 
__________________________ _________________________________ 
null                       null                             

Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når null opstår som et resultat af en SQL SELECT udmelding.

Du kan dog bruge SET NULL for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null skal returneres.

Manglende argument

Kaldning af funktionen med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer i en fejl:

SELECT NUMTODSINTERVAL()
FROM DUAL;

Resultat:

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:

  1. Proaktive SQL Server-sundhedstjek, del 5:Ventestatistik

  2. Opret tabel i procedure

  3. Primære nøgler i SQL Server

  4. MySQL antal elementer i klausulen