Problème de requette

beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009 - 1 févr. 2007 à 10:05
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 1 févr. 2007 à 23:58
bonjour,
j'ai un problème avec ma requette. voiçi le code:
select * from Alarme_active where date_debut >='31/01/2007'and date_debut='01/02/2007'
elle ne m'affiche rien pourtant quant j'ecris:
select * from Alarme_active where date_debut >='30/01/2007'and date_debut>='01/02/2007'
elle m'affiche le resultat ce qui je ne comprends par ce que c'est pas normal
j'ai essayer avec between c'est aussi identique!
aide zmoi s'il vous plaît

17 réponses

dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 10:16
Salut,

SELECT * FROM Alarme_active WHERE date_debut >='31/01/2007' AND date_debut='01/02/2007'

Je ne vois pas pourquoi tu met " date_debut >='31/01/2007' ", si tu cherche quelque chose qui a commencé le 2 février 2007, c'est pas la peine de préciser que c'est après le 31 janvier 2007.

SELECT * FROM Alarme_active WHERE date_debut >='30/01/2007' AND date_debut>='01/02/2007'

Un peu la même remarque, tu cherche quelquechose qui a commencé après le 30 janvier et après le 1 février 2007

Si tu ne trouvais rien dans le premier cas, c'est simplement parce que rien n'a commencé le 2 février à mon avis.

La requête que tu cherche est plutôt celle la je pense(si tu veux faire un "BETWEEN") :

SELECT * FROM Alarme_active WHERE date_debut >='30/01/2007' AND date_debut<='01/02/2007'

++
0
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009
1 févr. 2007 à 10:20
j'ai essayé celle là :
SELECT * FROM Alarme_active WHERE date_debut >='30/01/2007' AND date_debut<='01/02/2007'

et elle ne me donne rien pourtant dans ma table ces elements existent .
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 10:26
SELECT * FROM Alarme_active WHERE date_debut >='30-01-2007' AND date_debut<='01-02-2007'


SELECT * FROM Alarme_active WHERE date_debut >='2007-01-30' AND date_debut<='2007-02-01'

Peut-être une problème de format de date. Cherche avec la fonction DATE.
0
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009
1 févr. 2007 à 10:38
en effet ce que je comprends pas c'est que cette requette marche quant la date est comprise entre tous les autres mois sauf celle du 01/02/2007 pourtant dans ma table il ya bien des elements de cette date.
elle marche bien avec les dates d'avant le 01/02/2007
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 10:42
??

Envoi une copie de ta table sur la région concernée.
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 10:45
peut-être que yen a un qui est en jj-mm-aaaa et l'autr en mm-jj-aaaa.
Je pense que c'est un problème de format de date.
0
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009
1 févr. 2007 à 10:45
date_debut
26/01/2007         
29/01/2007         
30/01/2007         
30/01/2007         
31/01/2007         
31/01/2007         
01/02/2007         
01/02/2007         
30/01/2007         
30/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
31/01/2007         
voiçi une copie                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 10:47
Ta base est sur quoi ? Oracle ? MySQL ?...
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 10:57
date_debut >= DATE '30/01/2007'


date_debut >=TO_DATE('dd/mm/YYYY','30/01/2007')

je ne suis pas sur de la syntaxe, ca fait longtemps que je n'y ai pas touché.
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 10:58
date_debut >=
DATE '2007-01-30'
0
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009
1 févr. 2007 à 11:12
j'ai une base sql server 2000 .j'ai modifier le type de donnée qui était char en datetime et la requette marche suf que j'ai un truc comme ça:
'01/02/2007 00:00:00 je voudrais supprimer le 00:00:00 maintenant.
comment y faire?
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 11:28
met juste date au lieu de datetime.
Sinon je ne me rappel plus si on peut changer le masque d'affichage dans la table.
Lors de ta creation de base, mettre un truc du genre :
DATETIME('dd/mm/YYYY')

++
0
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009
1 févr. 2007 à 11:30
il n'y a pas date dans la liste il ya datetime et samlldatetime mais les deux donnent apparamment les mêmes choses.
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 11:46
Désolé, je ne peux pas t'aider.
A ta place, je laisserai le 00:00:00 dans la table, et je le masquerai à l'affichage.

++
0
beny100 Messages postés 213 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 1 avril 2009
1 févr. 2007 à 11:50
comment le masquer alors?
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
1 févr. 2007 à 14:09
Essaye :
SELECT TO_STRING(date_debut,'dd/mm/yyyy') FROM ....
Pas sur que ca marche.

Il y a aussi CONVERT et CAST mais je ne sais pas trop comment les utiliser.

++
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
1 févr. 2007 à 23:58
Salut
Voila la page qu'il te faut

http://msdn2.microsoft.com/fr-fr/library/ms187928.aspx

Pour l'européen c'est 13 ou 113 qu'il faut utiliser
SELECT convert(varchar(25),dt_debut,113) AS dt_debut

Bon SQL
0
Rejoignez-nous