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

Jak získat název měsíce z data v Oracle

V databázi Oracle TO_CHAR(datetime) nám umožňuje vrátit hodnotu datetime, naformátovanou způsobem, který určíme.

Jedna z věcí, kterou můžeme udělat, je vrátit název měsíce z data.

Celý název měsíce

Pokud jde o vrácení názvu měsíce z data, máme možnost získat celý název měsíce nebo jeho zkrácenou verzi.

Chcete-li získat celý název měsíce, použijte MONTH prvek formátu:

SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;

Výsledek:

OCTOBER

Krátký název měsíce

Chcete-li získat zkrácený název měsíce, použijte MON :

SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;

Výsledek:

OCT

Velká písmena

Můžeme použít velká písmena k určení velkých písmen na výstupu:

SELECT 
    TO_CHAR(DATE '2035-10-03', 'Month') AS "Month",
    TO_CHAR(DATE '2035-10-03', 'month') AS "month",
    TO_CHAR(DATE '2035-10-03', 'Mon') AS "Mon",
    TO_CHAR(DATE '2035-10-03', 'mon') AS "mon"
FROM DUAL;

Výsledek:

       Month        month    Mon    mon 
____________ ____________ ______ ______ 
October      october      Oct    oct   

Jazyk

Jazyk názvu měsíce je určen buď explicitně pomocí NLS_DATE_LANGUAGE inicializační parametr nebo implicitně pomocí NLS_LANGUAGE inicializační parametr.

Můžeme explicitně nastavit hodnotu NLS_LANGUAGE pomocí parametru ALTER SESSION prohlášení. Když to uděláme, implicitně to také nastaví hodnotu NLS_DATE_LANGUAGE parametr.

Nastavení NLS_DATE_LANGUAGE parametr nemění hodnotu NLS_LANGUAGE parametr. To nám umožňuje určit jiný jazyk pro formátovací prvky, které v případě potřeby vracejí hláskované hodnoty.

Zde je příklad nastavení NLS_DATE_LANGUAGE parametr do jiného jazyka a poté znovu získat název měsíce:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(DATE '2037-10-03', 'Month') AS "Full Month Name",
    TO_CHAR(DATE '2037-10-03', 'Mon') AS "Short Month Name"
FROM DUAL;

Výsledek:

   Full Month Name    Short Month Name 
__________________ ___________________ 
Oktober            Okt                

Výchozí jazyk lze přepsat na úrovni funkcí třetím parametrem, který určuje jazyk:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(
        DATE '2037-10-03', 
        'Month', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Výsledek:

OCT

Pro formátování hodnot datetime v Oracle je k dispozici mnohem více prvků formátu. Úplný seznam najdete v části Seznam prvků formátu Datetime v Oracle.


  1. Je NOLOCK (nápověda pro SQL Server) špatný postup?

  2. Oprava „Alespoň jeden z argumentů COALESCE musí být výraz, který není konstantou NULL“ v SQL Server

  3. Události a vlákna v .NET

  4. Chyba odhadu mohutnosti dílčího dotazu