web-dev-qa-db-fra.com

Extraire le jour de la semaine du champ de date dans PostgreSQL en supposant que les semaines commencent le lundi

select extract(dow from datefield)

extraire un nombre de 0 à 6, où 0 est dimanche; existe-t-il un moyen d'obtenir le jour de la semaine dans SQL en supposant que les semaines commencent le lundi (donc 0 sera le lundi)?

11
Eugenio

extrait du manuel

isodow

    The day of the week as Monday (1) to Sunday (7)

Donc, il vous suffit de soustraire 1 de ce résultat:

psql (9.6.1)
Type "help" for help.

postgres=> select extract(isodow from date '2016-12-12') - 1;
  ?column?
-----------
         0
(1 row)
postgres=>
17

Utiliser la fonction date_part dow ()

Ici 0 = dimanche, 1 = lundi, 2 = mardi, ... 6 = samedi

   select extract(dow from date '2016-12-18'); /* sunday */

Sortie: 0

    select extract(isodow from date '2016-12-12'); /* Monday  */

Sortie: 1

12
Mr. Bhosale