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

NUMTOYMINTERVAL() Funktion i Oracle

I Oracle Database er NUMTOYMINTERVAL() funktion konverterer et tal til et INTERVAL YEAR TO MONTH bogstaveligt.

Syntaks

Syntaksen ser sådan ud:

NUMTOYMINTERVAL(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:

  • YEAR '
  • MONTH '

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

Eksempel

Her er et eksempel til demonstration:

SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;

Resultat:

+00-01

Her er endnu en, der bruger året:

SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;

Resultat:

+01-00

Brøker

Her er en, der indeholder en brøkdel i det første argument:

SELECT 
    NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
    NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;

Resultat:

     Year     Month 
_________ _________ 
+10-07    +00-11    

Skrivar og bogstaver

Det andet argument er ufølsomt mellem store og små bogstaver:

SELECT 
    NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
    NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;

Resultat:

      YEAR       year 
__________ __________ 
+150-00    +150-00    

Nul-argumenter

Sender null for begge argumenter resulterer i null :

SET NULL 'null';
SELECT 
    NUMTOYMINTERVAL(1, null),
    NUMTOYMINTERVAL(null, 'year')
FROM DUAL;

Resultat:

   NUMTOYMINTERVAL(1,NULL)    NUMTOYMINTERVAL(NULL,'YEAR') 
__________________________ _______________________________ 
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 NUMTOYMINTERVAL()
FROM DUAL;

Resultat:

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:

  1. Kan kommentarer hæmme ydeevnen af ​​lagrede procedurer?

  2. UniVers tips

  3. Deltager til MAX datoregistrering i gruppe

  4. MySQL-replikering med ProxySQL på WHM/cPanel-servere:Del 1