sql >> Database >  >> RDS >> Oracle

Hoe de dagnaam van een datum in Oracle te krijgen

Met Oracle Database kunnen we de TO_CHAR(datetime) gebruiken functie om een ​​datetime-waarde te retourneren, geformatteerd op een manier die we specificeren.

We kunnen deze functie gebruiken om de dagnaam van een datum te retourneren (evenals andere delen van de datetime-waarde).

Naam volledige dag

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

Om de volledige dagnaam te krijgen, de DAY formaatelement doet het:

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Resultaat:

SATURDAY

Korte dagnaam

Gebruik DY . om de afgekorte dagnaam te krijgen :

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Resultaat:

SAT

Hoofdlettergebruik

We kunnen hoofdletters gebruiken als we dat willen. Dit bepaalt het hoofdlettergebruik van de output:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'Day') AS "Day",
    TO_CHAR(DATE '2037-10-03', 'day') AS "day",
    TO_CHAR(DATE '2037-10-03', 'Dy') AS "Dy",
    TO_CHAR(DATE '2037-10-03', 'dy') AS "dy"
FROM DUAL;

Resultaat:

         Day          day     Dy     dy 
____________ ____________ ______ ______ 
Saturday     saturday     Sat    sat    

Taal

De taal van de dagnaam 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 format-elementen die indien nodig gespelde waarden retourneren.

Hier is een voorbeeld van het instellen van de NLS_DATE_LANGUAGE parameter naar een andere taal:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';

Resultaat:

Session altered.

Als we nu de dagnaam van een datum retourneren, wordt deze geretourneerd in de taal die we zojuist hebben opgegeven:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'DAY') AS "Full Day Name",
    TO_CHAR(DATE '2037-10-03', 'DY') AS "Short Day Name"
FROM DUAL;

Resultaat:

   Full Day Name    Short Day Name 
________________ _________________ 
SAMSTAG          SA               

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', 
        'Day', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Resultaat:

Sábado

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. MariaDB – MySQL – Toon motoren om alle beschikbare en ondersteunde motoren weer te geven

  2. Hoe UNCOMPRESSED_LENGTH() werkt in MariaDB

  3. Gegevenstype van veld ophalen in select-instructie in ORACLE

  4. Een inleiding tot SQL-indexen