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.