In der Oracle-Datenbank das NUMTOYMINTERVAL()
Funktion konvertiert eine Zahl in ein INTERVAL YEAR TO MONTH
wörtlich.
Syntax
Die Syntax lautet wie folgt:
NUMTOYMINTERVAL(n, 'interval_unit')
Das n
Argument ist die Zahl, für die konvertiert werden soll.
Der Wert für interval_unit
gibt die Einheit von n
an und muss in einen der folgenden Zeichenfolgenwerte aufgelöst werden:
- ‘
YEAR
‘ - ‘
MONTH
‘
Die interval_unit
Beim Argument wird die Groß-/Kleinschreibung nicht beachtet.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
Ergebnis:
+00-01
Hier ist noch eine, die das Jahr verwendet:
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
Ergebnis:
+01-00
Brüche
Hier ist eines, das einen Bruchteil im ersten Argument enthält:
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
Ergebnis:
Year Month _________ _________ +10-07 +00-11
Groß-/Kleinschreibung
Beim zweiten Argument wird die Groß-/Kleinschreibung nicht beachtet:
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
Ergebnis:
YEAR year __________ __________ +150-00 +150-00
Null-Argumente
Übergabe von null
für beide Argumente ergibt sich null
:
SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
Ergebnis:
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ _______________________________ null null
Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn null
tritt als Ergebnis eines SQL SELECT
auf Erklärung.
Sie können jedoch SET NULL
verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null
zurückgegeben werden soll.
Fehlendes Argument
Der Aufruf der Funktion mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT NUMTOYMINTERVAL()
FROM DUAL;
Ergebnis:
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: