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.