Pobierając nazwę dnia i/lub miesiąca z daty w Oracle, możesz chcieć zwrócić ją wielkimi, małymi lub tytułowymi literami.
Na szczęście jest to łatwe. Wynik odzwierciedla wielkość liter w modelu formatu.
Przykład
Używając TO_CHAR()
aby zwrócić części daty z wartości daty, użyj co najmniej jednego elementu formatu do utworzenia modelu formatu. Ten model formatu określa sposób formatowania daty po jej zwróceniu.
Możemy użyć DAY
i MONTH
elementy formatu, aby zwrócić odpowiednio nazwę dnia i nazwę miesiąca.
Ale co ważne, wielkość liter, której używamy dla tych elementów formatu, określa wielkość liter w wyniku.
Przykład:
SELECT
TO_CHAR( DATE '2037-12-03', 'month' ) AS "month",
TO_CHAR( DATE '2037-12-03', 'Month' ) AS "Month",
TO_CHAR( DATE '2037-12-03', 'MONTH' ) AS "MONTH"
FROM DUAL;
Wynik:
month Month MONTH ____________ ____________ ____________ december December DECEMBER
Tak samo jest w DAY
element formatu:
SELECT
TO_CHAR( DATE '2037-12-03', 'day' ) AS "day",
TO_CHAR( DATE '2037-12-03', 'Day' ) AS "Day",
TO_CHAR( DATE '2037-12-03', 'DAY' ) AS "DAY"
FROM DUAL;
Wynik:
day Day DAY ____________ ____________ ____________ thursday Thursday THURSDAY
Dotyczy to również zwrotu skróconej wersji dnia lub miesiąca.
Przykład:
SELECT
TO_CHAR( DATE '2037-12-03', 'mon' ) AS "mon",
TO_CHAR( DATE '2037-12-03', 'Mon' ) AS "Mon",
TO_CHAR( DATE '2037-12-03', 'MON' ) AS "MON"
FROM DUAL;
Wynik:
mon Mon MON ______ ______ ______ dec Dec DEC
Oraz:
SELECT
TO_CHAR( DATE '2037-12-03', 'dy' ) AS "dy",
TO_CHAR( DATE '2037-12-03', 'Dy' ) AS "Dy",
TO_CHAR( DATE '2037-12-03', 'DY' ) AS "DY"
FROM DUAL;
Wynik:
dy Dy DY ______ ______ ______ thu Thu THU
Rok
Być może mniej znanym faktem jest to, że Oracle Database zapewnia również elementy formatu, które zwracają pełny rok. W szczególności YEAR
i YEAR
(na zaspokojenie dat przed BC).
Wielkość liter w tych elementach formatu również wpływa na wynik:
SELECT
TO_CHAR( DATE '2037-12-03', 'year' ) AS "year",
TO_CHAR( DATE '2037-12-03', 'Year' ) AS "Year",
TO_CHAR( DATE '2037-12-03', 'YEAR' ) AS "YEAR"
FROM DUAL;
Wynik:
year Year YEAR ______________________ ______________________ ______________________ twenty thirty-seven Twenty Thirty-Seven TWENTY THIRTY-SEVEN
Oraz:
SELECT
TO_CHAR( DATE '-2037-12-03', 'syear' ) AS "syear",
TO_CHAR( DATE '-2037-12-03', 'Syear' ) AS "Syear",
TO_CHAR( DATE '-2037-12-03', 'SYEAR' ) AS "SYEAR"
FROM DUAL;
Wynik:
syear Syear SYEAR _______________________ _______________________ _______________________ -twenty thirty-seven -Twenty Thirty-Seven -TWENTY THIRTY-SEVEN
Stosując wielkość liter z Syear
format, pamiętajmy, że tylko pierwszy znak – S
znak – jest pisany wielkimi literami, a wszystkie pozostałe znaki są małymi literami (w tym Y
znak):