SELECT entre 2 Dates [Résolu]

Messages postés
61
Date d'inscription
dimanche 8 novembre 2009
Dernière intervention
19 octobre 2010
- - Dernière réponse : Nitrakz
Messages postés
61
Date d'inscription
dimanche 8 novembre 2009
Dernière intervention
19 octobre 2010
- 12 août 2010 à 10:54
Bonjour,

Mon problème est le suivant, je ne parviens pas a limiter mon select a un intervalle entre 2 dates ou 1 date saisi manuellement par un utilisateur et de la forme DD/MM/YYYY. Voici une forme simplifier de la requête.

Date début et fin entrer:
SELECT [Nom] FROM [Test] WHERE CONVERT(char(10),[Date action],103)>='10/08/2010' AND CONVERT(char(10),[Date action],103)<='11/08/2010'

Date début:
SELECT [Nom] FROM [Test] WHERE CONVERT(char(10),[Date action],103)>='10/08/2010'

Pour info, sur le CONVERT: 103 = jj/mm/aaaa

J'ai essayer avec BETWEEN mais sa ne fonctionne pas puisque l'utilisateur n'entre pas forcement 2 dates.

Voila, Merci pour vos réponses.

There is no place like 127.0.0.1 /
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
D'abord par principe, on ne converti pas le champs de la base pour pouvoir le comparer au paramètre. Au contraire, c'est le paramètre que l'on va convertir au type du champ de la base pour pouvoir faire la comparaison.

SELECT [Nom] FROM [Test] WHERE [Date action] >= CONVERT(DateTime,'10/08/2010',103) AND [Date action] <= CONVERT(DateTime,'11/08/2010',103)




[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
61
Date d'inscription
dimanche 8 novembre 2009
Dernière intervention
19 octobre 2010
0
Merci
Ah oui je précise que les 2 requêtes ci dessus me renvoi des antérieur au 10/08/2010, du 2009 ect.

There is no place like 127.0.0.1 /
Commenter la réponse de Nitrakz
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
Salut,

Pourquoi stocker des dates au format varchar ? C'est tellement plus simple de travailler avec le format DATETIME plutôt et en plus c'est plus optimisé.

Il me semble que le format des dates est : aaaa-mm-jj et non dd/mm/yyyy

Du coup, essaye ainsi :
SELECT [Nom] FROM [Test] WHERE CONVERT(char(10),[Date action],103)>='2010/08/10' AND CONVERT(char(10),[Date action],103)<='2010/08/11'

Et si ca ne marche pas :
SELECT [Nom] FROM [Test] WHERE CONVERT(char(10),[Date action],103)>=CONVERT('10/08/2010',[Date action],103) AND CONVERT(char(10),[Date action],103)<=CONVERT('11/08/2010',[Date action],103)
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
61
Date d'inscription
dimanche 8 novembre 2009
Dernière intervention
19 octobre 2010
0
Merci
Mes dates sont stocker était bien stocker au format Date. Avec la reponse de casy ca fonctionne sauf que ca me prend pas les valeur du 11/08 ? c'est du au fait qu'il prend l'heure à 00h00 ? Quel concaténation d'heure a se format pour avoir une vrai inclusion >= ?

There is no place like 127.0.0.1 /
Commenter la réponse de Nitrakz
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Essaye avec Between dans ce cas là


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
61
Date d'inscription
dimanche 8 novembre 2009
Dernière intervention
19 octobre 2010
0
Merci
Nan c'est bon je viens de trouver je fait un simple:
SELECT [Nom] FROM [Test] WHERE [Date action] >= CONVERT(DateTime,'10/08/2010',103) AND [Date action] <= CONVERT(DateTime,'11/08/2010',103) + 1


Merci pour vos réponses, mon problème est résolu :)
There is no place like 127.0.0.1 /
Commenter la réponse de Nitrakz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.