Dans PostgreSQL, vous pouvez utiliser le extract()
fonction pour obtenir le jour à partir d'une date.
Vous pouvez également utiliser date_part()
faire la même chose.
Lorsque vous extrayez le jour d'une date, vous devez spécifier le sens du mot "jour" que vous voulez dire. Par exemple, "jour de la semaine", "jour du mois", "jour de l'année", etc.
Exemple 1 :Jour de la semaine
Voici un exemple d'utilisation de extract()
fonction pour extraire le jour de la semaine d'une date.
Utilisation de dow
renvoie le jour de la semaine du dimanche (0) au samedi (6).
SELECT extract(dow from date '2020-12-27') AS "Day of week", to_char(date '2020-12-27', 'Day') AS "Day Name";
Résultat :
Day of week | Day Name -------------+----------- 0 | Sunday
Dans cet exemple, j'ai également renvoyé le nom du jour, afin qu'il n'y ait aucune confusion quant au jour qui est réellement renvoyé.
J'utiliserai la même date pour les exemples restants, donc je n'ai pas besoin d'imprimer le nom du jour dans ces exemples.
Exemple 2 :Jour de la semaine ISO
Utiliser isodow
renvoie le jour de la semaine du lundi (1) au dimanche (7).
SELECT extract( isodow from date '2020-12-27' ) AS "ISO Day of week";
Résultat :
ISO Day of week ----------------- 7
La raison pour laquelle j'ai utilisé dimanche dans ces exemples est qu'il met en évidence la différence entre isodow
et dow
.
Exemple 3 :Jour du mois
Lors de l'utilisation de l'horodatage ou date valeurs, day
renvoie le jour du mois (1 – 31).
SELECT extract( day from date '2020-12-27' ) AS "Day of month";
Résultat :
Day of month -------------- 27
Lors de l'utilisation d'un intervalle valeur, le day
le champ renvoie le nombre de jours renvoyés.
SELECT extract( day from interval '32 weeks' ) AS "Number of days";
Résultat :
Number of days ---------------- 224
Exemple 4 :Jour de l'année
Utilisation de doy
renvoie le jour de l'année (1 – 365/366).
SELECT extract( doy from date '2020-12-27' ) AS "Day of year";
Résultat :
Day of year ------------- 362
Exemple 5 :La fonction date_part()
Le date_part()
la fonction peut être utilisée à la place de extract()
une fonction. Voici un exemple.
SELECT date_part( 'doy', timestamp '2020-12-27' ) AS "Day of year";
Résultat :
Day of year ------------- 362