sql >> Database >  >> RDS >> Oracle

Hoe de maandnaam van een datum in Oracle te krijgen

In Oracle Database, de TO_CHAR(datetime) stelt ons in staat om een ​​datetime-waarde te retourneren, geformatteerd op een manier die we specificeren.

Een van de dingen die we kunnen doen is de naam van de maand teruggeven vanaf een datum.

Naam volledige maand

Als het gaat om het retourneren van de maandnaam van een datum, hebben we de mogelijkheid om de volledige maandnaam of de verkorte versie ervan te krijgen.

Gebruik de MONTH . om de naam van de volledige maand te krijgen formaatelement:

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

Resultaat:

OCTOBER

Naam korte maand

Gebruik MON . om de naam van de afgekorte maand te krijgen :

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

Resultaat:

OCT

Hoofdlettergebruik

We kunnen hoofdlettergebruik gebruiken om het hoofdlettergebruik van de uitvoer te bepalen:

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;

Resultaat:

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

Taal

De taal van de maandnaam wordt ofwel expliciet bepaald met de NLS_DATE_LANGUAGE initialisatieparameter of impliciet met de NLS_LANGUAGE initialisatie parameter.

We kunnen expliciet de waarde van de NLS_LANGUAGE . instellen parameter met de ALTER SESSION uitspraak. Wanneer we dit doen, stelt het ook impliciet de waarde in van de NLS_DATE_LANGUAGE parameter.

Echter, het instellen van de NLS_DATE_LANGUAGE parameter verandert de waarde van de NLS_LANGUAGE . niet parameter. Dit stelt ons in staat om een ​​andere taal te specificeren voor opmaakelementen die, indien nodig, gespelde waarden teruggeven.

Hier is een voorbeeld van het instellen van de NLS_DATE_LANGUAGE parameter naar een andere taal, en dan de naam van de maand opnieuw krijgen:

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;

Resultaat:

   Full Month Name    Short Month Name 
__________________ ___________________ 
Oktober            Okt                

De standaardtaal kan op functieniveau worden overschreven met een derde parameter die de taal specificeert:

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

Resultaat:

Octubre

Er zijn veel meer formaatelementen beschikbaar voor het opmaken van datetime-waarden in Oracle. Zie Lijst van Datetime Format Elements in Oracle voor een volledige lijst.


  1. Database migreren van Postgres naar MySQL

  2. SQL-weergaven

  3. Het stuurprogramma kon geen veilige verbinding met SQL Server tot stand brengen met behulp van SSL-codering (Secure Sockets Layer)

  4. Primaire MySQL-sleutels