Vous n'êtes pas identifié(e).

#1 12/01/2012 11:36:23

Frizby
Membre

Passage d'une valeur calculée pour un interval

Bonjour,
Je cherche à obtenir la date du dimanche précédent une certaine date.
J'ai tenté la requête suivante mais ça me retourne une syntax error :

select timestamp '2011-06-07 18:00:00' - interval extract(dow from timestamp '2011-06-07 18:00:00')' days';

ERROR:  syntax error at or near "extract"
LINE 1: select timestamp '2011-06-07 18:00:00' - interval extract(do...
                                                          ^

********** Erreur **********

ERROR: syntax error at or near "extract"
État SQL :42601
Caractère : 51

J'ai testé plusieurs possibilité et je ne parviens pas à passer une valeur calculée à 'interval'. Est-ce possible ?

Hors ligne

#2 12/01/2012 12:14:17

Marc Cousin
Membre

Re : Passage d'une valeur calculée pour un interval

Si c'était pour le lundi, il suffisait d'utiliser date_trunc pour ça:

select date_trunc('week',timestamp '2011-06-07 18:00:00');

Par contre, pour votre problème et votre solution,  vous pouvez l'écrire avec une simple multiplication, comme ceci:

select timestamp '2011-06-07 18:00:00' - extract(dow from timestamp '2011-06-07 18:00:00') * interval '1 day';


Marc.

Hors ligne

#3 12/01/2012 12:16:39

Frizby
Membre

Re : Passage d'une valeur calculée pour un interval

Ok merci beaucoup pour votre aide !

Hors ligne

Pied de page des forums