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

Obtenir le jour à partir d'une date dans PostgreSQL

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