commande select en mysql

Eléphanteau du PHP | 12 Messages

22 août 2005, 10:19

bonjour,
peut-on avec la commande select indiquer une date de tel date à tel date avec where?
merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 août 2005, 10:20

oui

mais ta question trouverait mieux sa place dans le forum Base de données ;)
edit mere-teresa : sitôt dit, sitôt fait !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 août 2005, 10:31

utilise BETWEEN

Code : Tout sélectionner

SELECT champ1, champ2 FROM table WHERE champ_date BETWEEN <date_debut> AND <date_fin>

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2005, 12:22

SELECT champ1, champ2
FROM   table
WHERE  champ_date BETWEEN date_debut AND date_fin
// il me semble que l'instruction BETWEEN inclut les bornes de l'intervalle. À confirmer...
Avec une clause WHERE, ça donnera :
SELECT champ1, champ2
FROM   table
WHERE  champ_date >= date_debut
  AND  champ_date =< date_fin
Ces deux écritures sont valides et donnent le même résultat
mais la solution utilisant l'instruction BETWEEN, préconisée par Ouckileou, est la meilleure.

Ne serait-ce que parce qu'elle est plus élégante... ;)

:idea: Ton choix se fera aussi selon que tu souhaites inclure les bornes de ton intervalle ou non.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 août 2005, 12:25

// il me semble que l'instruction BETWEEN inclut les bornes de l'intervalle. À confirmer...[/php].
absolument :
Si expression est supérieure ou égale à min et expression est inférieure ou égale à max, BETWEEN retourne 1, sinon 0. Ceci est équivalent à l'expression (min <= expression AND expression <= max) si tous les arguments sont du même type.
;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2005, 12:34

// il me semble que l'instruction BETWEEN inclut les bornes de l'intervalle. À confirmer...
absolument ;)
Merci d'avoir vérifié.

Ouf, j'suis pas encore trop rouillé... :lol: