W bazie danych Oracle TO_CHAR(datetime)
pozwala nam zwrócić wartość daty i godziny, sformatowaną w określony przez nas sposób.
Jedną z rzeczy, które możemy zrobić, jest zwrócenie nazwy miesiąca z daty.
Pełna nazwa miesiąca
Jeśli chodzi o zwracanie nazwy miesiąca z daty, mamy możliwość uzyskania pełnej nazwy miesiąca lub jego skróconej wersji.
Aby uzyskać pełną nazwę miesiąca, użyj MONTH
element formatu:
SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;
Wynik:
OCTOBER
Krótka nazwa miesiąca
Aby uzyskać skróconą nazwę miesiąca, użyj MON
:
SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;
Wynik:
OCT
Wielkość liter
Możemy użyć kapitalizacji do określenia kapitalizacji wyniku:
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;
Wynik:
Month month Mon mon ____________ ____________ ______ ______ October october Oct oct
Język
Język nazwy miesiąca jest określany jawnie za pomocą NLS_DATE_LANGUAGE
parametr inicjalizacji lub niejawnie z NLS_LANGUAGE
parametr inicjalizacji.
Możemy jawnie ustawić wartość NLS_LANGUAGE
parametr z ALTER SESSION
oświadczenie. Kiedy to robimy, niejawnie ustawia również wartość NLS_DATE_LANGUAGE
parametr.
Jednak ustawienie NLS_DATE_LANGUAGE
parametr nie zmienia wartości NLS_LANGUAGE
parametr. Dzięki temu możemy określić inny język dla elementów formatu, które zwracają wartości pisane, jeśli jest to wymagane.
Oto przykład ustawienia NLS_DATE_LANGUAGE
parametr na inny język, a następnie ponowne pobranie nazwy miesiąca:
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;
Wynik:
Full Month Name Short Month Name __________________ ___________________ Oktober Okt
Język domyślny można zastąpić na poziomie funkcji trzecim parametrem, który określa język:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(
DATE '2037-10-03',
'Month',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Wynik:
Octubre
Istnieje wiele innych elementów formatu dostępnych do formatowania wartości daty i godziny w Oracle. Zobacz listę elementów formatu daty i godziny w Oracle, aby uzyskać pełną listę.