sql >> Database teknologi >  >> RDS >> Oracle

Brug af store bogstaver i dag- og månedsnavne ved formatering af datoer i Oracle

Når du henter navnet på dagen og/eller måneden fra en dato i Oracle, vil du måske returnere det med store, små eller store bogstaver.

Heldigvis er dette nemt at gøre. Resultatet afspejler brugen af ​​store bogstaver i din formatmodel.

Eksempel

Når du bruger TO_CHAR() for at returnere datodele fra en datoværdi, bruger du et eller flere formatelementer til at producere en formatmodel. Denne formatmodel bestemmer, hvordan datoen formateres, når den returneres.

Vi kan bruge DAY og MONTH formatelementer for at returnere henholdsvis dagsnavn og månedsnavn.

Men det er vigtigt, at den store bogstaver, vi bruger til disse formatelementer, bestemmer brugen af ​​store og små bogstaver i resultatet.

Eksempel:

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;

Resultat:

       month        Month        MONTH 
____________ ____________ ____________ 
december     December     DECEMBER    

Det er det samme for 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;

Resultat:

         day          Day          DAY 
____________ ____________ ____________ 
thursday     Thursday     THURSDAY     

Det gælder også ved returnering af den forkortede version af dagen eller måneden.

Eksempel:

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;

Resultat:

   mon    Mon    MON 
______ ______ ______ 
dec    Dec    DEC   

Og:

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;

Resultat:

    dy     Dy     DY 
______ ______ ______ 
thu    Thu    THU   

Året

Måske en mindre kendt kendsgerning er, at Oracle Database også leverer formatelementer, der returnerer hele året præciseret. Nærmere bestemt YEAR og SYEAR (for at tage højde for eller før BC datoer).

Brugen af ​​store bogstaver i disse formatelementer påvirker også outputtet:

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;

Resultat:

                  year                   Year                   YEAR 
______________________ ______________________ ______________________ 
twenty thirty-seven    Twenty Thirty-Seven    TWENTY THIRTY-SEVEN    

Og:

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;

Resultat:

                  syear                   Syear                   SYEAR 
_______________________ _______________________ _______________________ 
-twenty thirty-seven    -Twenty Thirty-Seven    -TWENTY THIRTY-SEVEN   

Ved anvendelse af store og små bogstaver med Syear formatelement, skal vi huske, at kun det første tegn – S tegn – er med store bogstaver, og alle resterende tegn er små bogstaver (inklusive Y tegn):


  1. PHP BOB - Antal rækker

  2. SQL GROUP BY-klausul for begyndere

  3. Introduktion til PL/SQL-pakker i Oracle-databasen

  4. Sådan slipper du en begrænsning i SQL Server (T-SQL)