Wenn Sie den Tages- und/oder Monatsnamen von einem Datum in Oracle abrufen, möchten Sie ihn möglicherweise in Großbuchstaben, Kleinbuchstaben oder in Großbuchstaben zurückgeben.
Glücklicherweise ist dies einfach zu bewerkstelligen. Das Ergebnis spiegelt die Großschreibung Ihres Formatmodells wider.
Beispiel
Bei Verwendung von TO_CHAR()
Um Datumsteile aus einem Datumswert zurückzugeben, verwenden Sie ein oder mehrere Formatelemente, um ein Formatmodell zu erstellen. Dieses Formatmodell bestimmt, wie das Datum formatiert wird, wenn es zurückgegeben wird.
Wir können den DAY
verwenden und MONTH
format-Elemente, um den Tagesnamen bzw. den Monatsnamen zurückzugeben.
Aber wichtig ist, dass die Großschreibung, die wir für diese Formatelemente verwenden, die Großschreibung des Ergebnisses bestimmt.
Beispiel:
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;
Ergebnis:
month Month MONTH ____________ ____________ ____________ december December DECEMBER
Dasselbe gilt für den DAY
Formatelement:
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;
Ergebnis:
day Day DAY ____________ ____________ ____________ thursday Thursday THURSDAY
Es gilt auch bei der Rückgabe der abgekürzten Version des Tages oder Monats.
Beispiel:
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;
Ergebnis:
mon Mon MON ______ ______ ______ dec Dec DEC
Und:
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;
Ergebnis:
dy Dy DY ______ ______ ______ thu Thu THU
Das Jahr
Eine vielleicht weniger bekannte Tatsache ist, dass Oracle Database auch Formatelemente bereitstellt, die das vollständige Jahr ausgeschrieben zurückgeben. Insbesondere YEAR
und SYEAR
(für Termine vor BC).
Die Großschreibung dieser Formatelemente wirkt sich auch auf die Ausgabe aus:
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;
Ergebnis:
year Year YEAR ______________________ ______________________ ______________________ twenty thirty-seven Twenty Thirty-Seven TWENTY THIRTY-SEVEN
Und:
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;
Ergebnis:
syear Syear SYEAR _______________________ _______________________ _______________________ -twenty thirty-seven -Twenty Thirty-Seven -TWENTY THIRTY-SEVEN
Beim Anwenden von Titelfall mit dem Syear
format-Element müssen wir daran denken, dass nur das erste Zeichen – das S
Zeichen – ist in Großbuchstaben und alle übrigen Zeichen sind Kleinbuchstaben (einschließlich Y
Zeichen):