In Oracle Database, de NUMTOYMINTERVAL()
functie converteert een getal naar een INTERVAL YEAR TO MONTH
letterlijk.
Syntaxis
De syntaxis gaat als volgt:
NUMTOYMINTERVAL(n, 'interval_unit')
De n
argument is het getal waarnaar moet worden geconverteerd.
De waarde voor interval_unit
specificeert de eenheid van n
en moet worden omgezet in een van de volgende tekenreekswaarden:
- ‘
YEAR
‘ - ‘
MONTH
‘
De interval_unit
argument is niet hoofdlettergevoelig.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
Resultaat:
+00-01
Hier is er nog een die het jaartal gebruikt:
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
Resultaat:
+01-00
Fracties
Hier is er een die een fractioneel deel bevat in het eerste argument:
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
Resultaat:
Year Month _________ _________ +10-07 +00-11
Hoofdlettergevoeligheid
Het tweede argument is niet hoofdlettergevoelig:
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
Resultaat:
YEAR year __________ __________ +150-00 +150-00
Nullargumenten
Doorgeven van null
voor beide argumenten resulteert in null
:
SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
Resultaat:
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ _______________________________ null null
Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null
treedt op als resultaat van een SQL SELECT
uitspraak.
U kunt echter SET NULL
. gebruiken om een andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null
moet worden geretourneerd.
Ontbrekend argument
Het aanroepen van de functie met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:
SELECT NUMTOYMINTERVAL()
FROM DUAL;
Resultaat:
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: