V databázi Oracle je to NUMTOYMINTERVAL()
funkce převede číslo na INTERVAL YEAR TO MONTH
doslovný.
Syntaxe
Syntaxe vypadá takto:
NUMTOYMINTERVAL(n, 'interval_unit')
n
argument je číslo, na které se má převést.
Hodnota pro interval_unit
určuje jednotku n
a musí se překládat na jednu z následujících hodnot řetězce:
- ‘
YEAR
„ - „
MONTH
„
interval_unit
argument nerozlišuje malá a velká písmena.
Příklad
Zde je příklad k demonstraci:
SELECT NUMTOYMINTERVAL(1, 'MONTH')
FROM DUAL;
Výsledek:
+00-01
Zde je další, který používá rok:
SELECT NUMTOYMINTERVAL(1, 'YEAR')
FROM DUAL;
Výsledek:
+01-00
Zlomky
Zde je jeden, který obsahuje zlomkovou část v prvním argumentu:
SELECT
NUMTOYMINTERVAL(10.56, 'YEAR') AS "Year",
NUMTOYMINTERVAL(10.56, 'MONTH') AS "Month"
FROM DUAL;
Výsledek:
Rok Měsíc _________ _________ +10-07 +00-11
Rozlišovat malá a velká písmena
Druhý argument nerozlišuje malá a velká písmena:
SELECT
NUMTOYMINTERVAL(150, 'YEAR') AS "YEAR",
NUMTOYMINTERVAL(150, 'year') AS "year"
FROM DUAL;
Výsledek:
ROK rok __________ __________ +150-00 +150-00
Nulové argumenty
Předávání null
pro oba argumenty je výsledkem null
:
SET NULL 'null';
SELECT
NUMTOYMINTERVAL(1, null),
NUMTOYMINTERVAL(null, 'year')
FROM DUAL;
Výsledek:
NUMTOYMINTERVAL(1,NULL) NUMTOYMINTERVAL(NULL,'YEAR') __________________________ ________________________________ null> nullVe výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když
null
dochází v důsledku SQLSELECT
prohlášení.Můžete však použít
SET NULL
určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězecnull
by měl být vrácen.Chybí argument
Volání funkce s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů má za následek chybu:
SELECT NUMTOYMINTERVAL() FROM DUAL;
Výsledek:
Chyba začínající na řádku:1 v příkazu -SELECT NUMTOYMINTERVAL()FROM DUALEchyba na příkazovém řádku:1 Sloupec:8Hlášení o chybě -Chyba SQL:ORA-00909:neplatný počet argumentů00909. 00000 - "neplatný počet argumentů"*Příčina:*Akce: