sql >> Databasteknik >  >> RDS >> Oracle

Hur man får månadens namn från ett datum i Oracle

I Oracle Database, TO_CHAR(datetime) tillåter oss att returnera ett datetime-värde, formaterat på ett sätt som vi anger.

En av sakerna vi kan göra är att returnera månadens namn från ett datum.

Månadens fullständiga namn

När det gäller att returnera månadsnamnet från ett datum, har vi möjlighet att få hela månadsnamnet eller dess förkortade version.

För att få hela månadens namn, använd MONTH formatelement:

SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;

Resultat:

OCTOBER

Kort månadsnamn

För att få det förkortade månadsnamnet, använd MON :

SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;

Resultat:

OCT

Kapitalisering

Vi kan använda versaler för att bestämma versaler för produktionen:

SELECT 
    TO_CHAR(DATE '2035-10-03', 'Month') AS "Month",
    TO_CHAR(DATE '2035-10-03', 'month') AS "month",
    TO_CHAR(DATE '2035-10-03', 'Mon') AS "Mon",
    TO_CHAR(DATE '2035-10-03', 'mon') AS "mon"
FROM DUAL;

Resultat:

       Month        month    Mon    mon 
____________ ____________ ______ ______ 
October      october      Oct    oct   

Språk

Månadens språk bestäms antingen uttryckligen med NLS_DATE_LANGUAGE initialiseringsparameter eller implicit med NLS_LANGUAGE initialiseringsparameter.

Vi kan uttryckligen ställa in värdet för NLS_LANGUAGE parametern med ALTER SESSION påstående. När vi gör detta ställer det också implicit in värdet för NLS_DATE_LANGUAGE parameter.

Ställ dock in NLS_DATE_LANGUAGE parametern ändrar inte värdet på NLS_LANGUAGE parameter. Detta gör det möjligt för oss att ange ett annat språk för formatelement som returnerar stavade värden, om det behövs.

Här är ett exempel på hur du ställer in NLS_DATE_LANGUAGE parametern till ett annat språk och får sedan månadsnamnet igen:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(DATE '2037-10-03', 'Month') AS "Full Month Name",
    TO_CHAR(DATE '2037-10-03', 'Mon') AS "Short Month Name"
FROM DUAL;

Resultat:

   Full Month Name    Short Month Name 
__________________ ___________________ 
Oktober            Okt                

Standardspråket kan åsidosättas på funktionsnivå med en tredje parameter som anger språket:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(
        DATE '2037-10-03', 
        'Month', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Resultat:

Octubre

Det finns många fler formatelement tillgängliga för att formatera datetime-värden i Oracle. Se Lista över Datetime Format Elements i Oracle för en fullständig lista.


  1. Effektiv övervakning av MySQL-replikering med SCUMM Dashboards:Del 2

  2. MySQL-serverstartfel "Servern avslutades utan att uppdatera PID-filen"

  3. Migrera Amazon RDS (MySQL eller MariaDB) till en lokal server

  4. Jag glömde lösenordet som jag angav under postgres-installationen