Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment obtenir le nom du jour à partir d'une date dans Oracle

Avec Oracle Database, nous pouvons utiliser le TO_CHAR(datetime) fonction pour renvoyer une valeur datetime, formatée d'une manière que nous spécifions.

Nous pouvons utiliser cette fonction pour renvoyer le nom du jour à partir d'une date (ainsi que toute autre partie de la valeur datetime).

Nom complet du jour

Lorsqu'il s'agit de renvoyer le nom du jour à partir d'une date, nous avons la possibilité d'obtenir le nom du jour complet ou sa version abrégée.

Pour obtenir le nom complet du jour, le DAY l'élément de format fait l'affaire :

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

Résultat :

SATURDAY

Nom abrégé du jour

Pour obtenir le nom abrégé du jour, utilisez DY :

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

Résultat :

SAT

Capitalisation

Nous pouvons utiliser la capitalisation si nous le souhaitons. Cela détermine la capitalisation de la sortie :

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;

Résultat :

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

Langue

La langue du nom du jour est déterminée soit explicitement avec le NLS_DATE_LANGUAGE paramètre d'initialisation ou implicitement avec le NLS_LANGUAGE paramètre d'initialisation.

Nous pouvons définir explicitement la valeur du NLS_LANGUAGE paramètre avec le ALTER SESSION déclaration. Lorsque nous faisons cela, cela définit également implicitement la valeur du NLS_DATE_LANGUAGE paramètre.

Cependant, la définition du NLS_DATE_LANGUAGE le paramètre ne change pas la valeur de le NLS_LANGUAGE paramètre. Cela nous permet de spécifier une langue différente pour les éléments de format qui renvoient des valeurs orthographiées, si nécessaire.

Voici un exemple de définition de le NLS_DATE_LANGUAGE paramètre dans une autre langue :

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';

Résultat :

Session altered.

Désormais, lorsque nous renvoyons le nom du jour à partir d'une date, il est renvoyé dans la langue que nous venons de spécifier :

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;

Résultat :

   Full Day Name    Short Day Name 
________________ _________________ 
SAMSTAG          SA               

La langue par défaut peut être remplacée au niveau de la fonction par un troisième paramètre qui spécifie la langue :

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

Résultat :

Sábado

Il existe de nombreux autres éléments de format disponibles pour formater les valeurs datetime dans Oracle. Voir Liste des éléments de format Datetime dans Oracle pour une liste complète.