Vous trouverez ci-dessous deux fonctions qui peuvent être utilisées pour renvoyer le jour à partir d'une date dans Oracle Database.
Le EXTRACT()
Fonction
Le EXTRACT(datetime)
La fonction est utilisée pour extraire diverses parties datetime d'une valeur datetime. Cela inclut le jour.
Voici un exemple :
SELECT EXTRACT(DAY FROM DATE '2037-10-25')
FROM DUAL;
Résultat :
25
C'est le DAY
mot-clé qui extrait la partie jour de la date. Nous pouvons obtenir d'autres parties de date en les remplaçant par le mot-clé pertinent. Par exemple, YEAR
, MONTH
, HOUR
, MINUTE
, etc.
Nous pouvons également utiliser la fonction avec d'autres valeurs datetime, telles que TIMESTAMP
, etc.
Le TO_CHAR(datetime)
Fonction
Nous pouvons également utiliser le TO_CHAR(datetime)
fonctionnent comme une méthode alternative pour obtenir le jour à partir d'une date.
Cette fonction accepte la date/heure ou la valeur d'intervalle comme premier argument et un modèle de format comme deuxième argument. La fonction convertit ensuite la valeur en un type de données de VARCHAR2
dans le format spécifié.
Le modèle de format spécifie le format pour lequel renvoyer la valeur datetime/intervalle. Le modèle de format consiste en un ou plusieurs éléments de format . Cela nous permet d'élaborer soigneusement les résultats pour refléter le format souhaité.
Si nous ne voulons renvoyer que le jour, nous pouvons utiliser l'un des éléments de format pour extraire le jour.
Jour du mois
Pour obtenir le jour du mois (entre 1 et 31), utilisez le DD
élément de format :
SELECT TO_CHAR(DATE '2037-10-03', 'DD')
FROM DUAL;
Résultat :
03
Nom complet du jour
Pour obtenir le nom complet du jour, utilisez DAY
:
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
Jour de l'année
Pour obtenir le jour de l'année (entre 1 et 366), utilisez le DDD
élément de format :
SELECT TO_CHAR(DATE '2037-10-03', 'DDD')
FROM DUAL;
Résultat :
276
Jour de la semaine
Pour obtenir le jour de la semaine (entre 1 et 7), utilisez le D
élément de format :
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;
Résultat :
6
Cet élément de format dépend du territoire NLS de la session. La valeur de le NLS_TERRITORY
de mon système le paramètre est AUSTRALIA
, et par conséquent, le samedi est considéré comme le sixième jour de la semaine.
Voici ce qui se passe si je change la valeur de mon NLS_TERRITORY
paramètre à AMERICA
et relancez la même requête :
ALTER SESSION SET NLS_TERRITORY = 'AMERICA';
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;
Résultat :
7
Cette fois, le samedi est considéré comme le septième jour de la semaine.