Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Großschreibung von Tages- und Monatsnamen bei der Datumsformatierung in Oracle

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):