sql >> Database >  >> RDS >> Oracle

Hoofdlettergebruik van dag- en maandnamen bij het formatteren van datums in Oracle

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


  1. Meer over de introductie van tijdzones in langlevende projecten

  2. SQLite - Een tabel wijzigen

  3. TOON DATABASES Equivalent in SQL Server – sp_databases

  4. PostgreSQL migreren naar de cloud - oplossingen van Amazon, Google en Microsoft vergelijken