Wanneer u de naam van de dag en/of maand van een datum in Oracle haalt, wilt u deze misschien in hoofdletters, kleine letters of in hoofdletters retourneren.
Gelukkig is dit eenvoudig te doen. Het resultaat weerspiegelt het hoofdlettergebruik van uw formaatmodel.
Voorbeeld
Bij gebruik van TO_CHAR()
om datumdelen uit een datumwaarde te retourneren, gebruikt u een of meer formaatelementen om een formaatmodel te maken. Dit formaatmodel bepaalt hoe de datum wordt opgemaakt wanneer deze wordt geretourneerd.
We kunnen de DAY
. gebruiken en MONTH
formaatelementen om respectievelijk de naam van de dag en de maand te retourneren.
Maar belangrijker is dat het hoofdlettergebruik dat we gebruiken voor deze formaatelementen het hoofdlettergebruik van het resultaat bepaalt.
Voorbeeld:
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;
Resultaat:
month Month MONTH ____________ ____________ ____________ december December DECEMBER
Hetzelfde geldt voor de DAY
formaatelement:
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;
Resultaat:
day Day DAY ____________ ____________ ____________ thursday Thursday THURSDAY
Het is ook van toepassing bij het retourneren van de verkorte versie van de dag of maand.
Voorbeeld:
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;
Resultaat:
mon Mon MON ______ ______ ______ dec Dec DEC
En:
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;
Resultaat:
dy Dy DY ______ ______ ______ thu Thu THU
Het jaar
Misschien een minder bekend feit, is dat Oracle Database ook formaatelementen biedt die het volledige jaar weergeven. In het bijzonder YEAR
en SYEAR
(om tegemoet te komen of voor BC data).
Het hoofdlettergebruik van deze formaatelementen heeft ook invloed op de uitvoer:
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;
Resultaat:
year Year YEAR ______________________ ______________________ ______________________ twenty thirty-seven Twenty Thirty-Seven TWENTY THIRTY-SEVEN
En:
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;
Resultaat:
syear Syear SYEAR _______________________ _______________________ _______________________ -twenty thirty-seven -Twenty Thirty-Seven -TWENTY THIRTY-SEVEN
Bij het toepassen van hoofdlettergebruik met de Syear
format-element, moeten we onthouden dat alleen het eerste teken – de S
karakter – is in hoofdletters, en alle overige karakters zijn kleine letters (inclusief de Y
karakter):