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

Jak získat název dne z data v Oracle

S Oracle Database můžeme použít TO_CHAR(datetime) funkce, která vrátí hodnotu datetime, naformátovanou způsobem, který určíme.

Tuto funkci můžeme použít k vrácení názvu dne z data (stejně jako jakékoli jiné části hodnoty datetime).

Název celého dne

Pokud jde o vrácení názvu dne z data, máme možnost získat název celého dne nebo jeho zkrácenou verzi.

Chcete-li získat název celého dne, DAY format element dělá trik:

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Výsledek:

SATURDAY

Název krátkého dne

Chcete-li získat zkrácený název dne, použijte DY :

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Výsledek:

SAT

Velká písmena

Pokud chceme, můžeme použít velká písmena. To určuje velikost písmen na výstupu:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'Day') AS "Day",
    TO_CHAR(DATE '2037-10-03', 'day') AS "day",
    TO_CHAR(DATE '2037-10-03', 'Dy') AS "Dy",
    TO_CHAR(DATE '2037-10-03', 'dy') AS "dy"
FROM DUAL;

Výsledek:

         Day          day     Dy     dy 
____________ ____________ ______ ______ 
Saturday     saturday     Sat    sat    

Jazyk

Jazyk názvu dne 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 prvky formátu, které v případě potřeby vracejí hláskované hodnoty.

Zde je příklad nastavení NLS_DATE_LANGUAGE parametr do jiného jazyka:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';

Výsledek:

Session altered.

Nyní, když vrátíme název dne z data, vrátí se v jazyce, který jsme právě určili:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'DAY') AS "Full Day Name",
    TO_CHAR(DATE '2037-10-03', 'DY') AS "Short Day Name"
FROM DUAL;

Výsledek:

   Full Day Name    Short Day Name 
________________ _________________ 
SAMSTAG          SA               

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', 
        'Day', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Výsledek:

Sábado

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. Aktualizace od týmu Microsoft Access (červen 2017)

  2. Složitosti NULL – 1. část

  3. PostgreSQL Nested JSON Querying

  4. Příklady MySQL REGEXP