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

Funkce NUMTOYMINTERVAL() v Oracle

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> 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 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:

  1. Vyberte hodnoty z pole XML v SQL Server 2008

  2. Vnitřní části sedmi druhů SQL Server – Část 1

  3. Skupiny dostupnosti SQL Server AlwaysOn:Instalace a konfigurace, část 1

  4. Jak získat rozdíl mezi dvěma řádky pro sloupcové pole?