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.