Когато получавате името на деня и/или месеца от дата в Oracle, може да искате да го върнете с главни, малки или главни букви.
За щастие това е лесно да се направи. Резултатът отразява изписването с главни букви на вашия модел на формат.
Пример
Когато използвате TO_CHAR()
за да върнете части от дата от стойност на дата, използвате един или повече елементи на формат, за да създадете модел на формат. Този модел на формат определя как се форматира датата, когато се върне.
Можем да използваме DAY
и MONTH
форматни елементи, за да върнат съответно името на деня и месеца.
Но важното е, че главните букви, които използваме за тези елементи на формат, определят главните букви на резултата.
Пример:
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;
Резултат:
month Month MONTH ____________ ____________ ____________ december December DECEMBER
Същото е и за DAY
форматен елемент:
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;
Резултат:
day Day DAY ____________ ____________ ____________ thursday Thursday THURSDAY
Прилага се и при връщане на съкратената версия на деня или месеца.
Пример:
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;
Резултат:
mon Mon MON ______ ______ ______ dec Dec DEC
И:
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;
Резултат:
dy Dy DY ______ ______ ______ thu Thu THU
Година
Може би по-малко известен факт е, че Oracle Database също предоставя елементи на формат, които връщат цялата изписана година. По-конкретно, YEAR
и SYEAR
(за да обслужва или дати преди пр.н.е.).
Изписването с главни букви на тези елементи на формат също влияе на изхода:
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;
Резултат:
year Year YEAR ______________________ ______________________ ______________________ twenty thirty-seven Twenty Thirty-Seven TWENTY THIRTY-SEVEN
И:
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;
Резултат:
syear Syear SYEAR _______________________ _______________________ _______________________ -twenty thirty-seven -Twenty Thirty-Seven -TWENTY THIRTY-SEVEN
При прилагане на главния регистър с Syear
формат елемент, трябва да запомним, че само първият знак – S
символ – е с главни букви, а всички останали знаци са с малки букви (включително Y
знак):