W Oracle Database możemy użyć TO_CHAR(datetime)
funkcja zwracająca wartość daty i godziny, sformatowaną w określony przez nas sposób.
Możemy użyć tej funkcji, aby zwrócić nazwę dnia z daty (jak również wszelkie inne części wartości daty i godziny).
Pełna nazwa dnia
Jeśli chodzi o zwracanie nazwy dnia z daty, mamy możliwość uzyskania pełnej nazwy dnia lub jego skróconej wersji.
Aby uzyskać pełną nazwę dnia, DAY
element formatu załatwia sprawę:
SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;
Wynik:
SATURDAY
Krótka nazwa dnia
Aby uzyskać skróconą nazwę dnia, użyj DY
:
SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;
Wynik:
SAT
Wielkość liter
Jeśli chcemy, możemy użyć wielkich liter. To określa wielkość liter na wyjściu:
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;
Wynik:
Day day Dy dy ____________ ____________ ______ ______ Saturday saturday Sat sat
Język
Język nazwy dnia jest określony 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 w razie potrzeby zwracają wartości pisane.
Oto przykład ustawienia NLS_DATE_LANGUAGE
parametr na inny język:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
Wynik:
Session altered.
Teraz, kiedy zwracamy nazwę dnia z daty, jest ona zwracana w właśnie określonym języku:
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;
Wynik:
Full Day Name Short Day Name ________________ _________________ SAMSTAG SA
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',
'Day',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Wynik:
Sábado
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ę.