V databázi Oracle je to NUMTODSINTERVAL() funkce převede číslo na INTERVAL DAY TO SECOND doslovný.
Syntaxe
Syntaxe vypadá takto:
NUMTODSINTERVAL(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:
- „
DAY„ - „
HOUR„ - „
MINUTE„ - ‘
SECOND„
interval_unit argument nerozlišuje malá a velká písmena.
Příklad
Zde je příklad k demonstraci:
SELECT NUMTODSINTERVAL(1, 'SECOND')
FROM DUAL; Výsledek:
+00 00:00:01.000000
Zde je další, který zabere minutu:
SELECT NUMTODSINTERVAL(1, 'MINUTE')
FROM DUAL; Výsledek:
+00 00:01:00.000000
Zlomkové sekundy
Ve výchozím nastavení je přesnost návratu 9. Zde je jedna, která v prvním argumentu určuje zlomky sekund:
SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM DUAL; Výsledek:
+00 00:00:10.123456789
Co se stane, když ji změníme na jinou intervalovou jednotku:
SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
FROM DUAL; Výsledek:
+10 02:57:46.666569600
Nulové argumenty
Předávání null pro oba argumenty je výsledkem null :
SET NULL 'null';
SELECT
NUMTODSINTERVAL(1, null),
NUMTODSINTERVAL(null, 'SECOND')
FROM DUAL; Výsledek:
NUMTODSINTERVAL(1,NULL) NUMTODSINTERVAL(NULL,'SECOND') __________________________ ___________________________________ pre null>Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když
nulldochází v důsledku SQLSELECTprohlášení.Můžete však použít
SET NULLurčit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězecnullby 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 NUMTODSINTERVAL() FROM DUAL;Výsledek:
Chyba začínající na řádku:1 v příkazu -SELECT NUMTODSINTERVAL()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: