sql >> Databáze >  >> RDS >> Oracle

Funkce NUMTODSINTERVAL() v Oracle

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ž null dochází v důsledku SQL SELECT 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ězec null 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 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:

  1. MySql aktualizuje dvě tabulky najednou

  2. Úvod k hromadnému shromažďování PL/SQL v databázi Oracle

  3. jak získat poslední ID vložení po vložení dotazu do aktivního záznamu codeigniter

  4. Uložené procedury MySQL je používají nebo nepoužívají