2012-12-16 6 views
1

** Je suis mauvais en anglais, désolé.Pourquoi cette requête ne fonctionne pas dans Mysql?

J'essaie d'obtenir des enregistrements dans deux dates par la requête ci-dessous, mais il renvoie un résultat vide.

SELECT * FROM orders WHERE 
DATE(dateadd) = '2012-06-03' and DATE(dateadd) = '2012-06-04' 

Mise à jour:

dateadd est ma colonne datetime, par défaut est: 0000-00-00 00:00:00

J'utilise DATE pour obtenir la date seulement (non inclus temps). Je veux obtenir des enregistrements dans les dates spécifiques, pas entre.

Quelqu'un peut-il m'aider?

+2

Parce que c'est faux ..? –

+0

exactement comment 'dateadd' pourrait avoir deux valeurs différentes en même temps? –

Répondre

7

Vous devriez utiliser OR au lieu de AND, comment une date peut être 2012-06-03 et être 2012-06-04 en même temps?

SELECT * FROM orders WHERE 
DATE(dateadd) = '2012-06-03' OR DATE(dateadd) = '2012-06-04' 
+1

@downvoter S'il vous plaît expliquer la raison? – xdazz

+0

On vous a downvoted. Je pense parce que «DATE()», qui peut être inutile. –

+2

@GabrielSantos Il est nécessaire si la colonne est DATETIME, ce qui est impliqué par le code OP. –

Questions connexes