SELECT * FROM fiches WHERE Champ LIKE '%IXUS%' OR Champ LIKE '%CANON%'
Laurent.
"christophe" wrote in message news:%
Bonjour,
voila je fais une petite procedure qui doit rechercher dans la base. Seulement j'aimerais ..
quand l'utilisateur rentre par exemple ixus canon
que cela retrouve les fiches qui ont : IXUS CANON IXUS CANON CANON IXUS
or je ne vois pas trop comment faire j'ai bien tenté %ixus%canon%
mais ca marche pô !!
christophe
oui merci,
mais le probleme c'est que je ne connais pas le nombre d'espace avant. Donc je ne construit pas ma requete en fonction se qui s'avererais penible, long et encore plus couteux en temps de recherche !!
y'a pas une syntaxe particuliere avec le like ? ou une autre methode ?
"Laurent Moreau" a écrit dans le message de news:ccgit6$184$
SELECT * FROM fiches WHERE Champ LIKE '%IXUS%' OR Champ LIKE '%CANON%'
Laurent.
"christophe" wrote in message news:% > Bonjour, > > > voila je fais une petite procedure qui doit rechercher dans la base. > Seulement j'aimerais .. > > quand l'utilisateur rentre par exemple > ixus canon > > que cela retrouve les fiches qui ont : > IXUS > CANON > IXUS CANON > CANON IXUS > > or je ne vois pas trop comment faire > j'ai bien tenté > %ixus%canon% > > mais ca marche pô !! > > > >
oui merci,
mais le probleme c'est que je ne connais pas le nombre d'espace avant.
Donc je ne construit pas ma requete en fonction se qui s'avererais penible,
long et encore plus couteux en temps de recherche !!
y'a pas une syntaxe particuliere avec le like ? ou une autre methode ?
"Laurent Moreau" <l.moreau@SUPPRIMERCECIsystonic.fr> a écrit dans le message
de news:ccgit6$184$1@s1.read.news.oleane.net...
SELECT *
FROM fiches
WHERE Champ LIKE '%IXUS%' OR Champ LIKE '%CANON%'
Laurent.
"christophe" <christophe@ipnet.fr> wrote in message
news:%23iRH1YAZEHA.1692@TK2MSFTNGP10.phx.gbl...
> Bonjour,
>
>
> voila je fais une petite procedure qui doit rechercher dans la base.
> Seulement j'aimerais ..
>
> quand l'utilisateur rentre par exemple
> ixus canon
>
> que cela retrouve les fiches qui ont :
> IXUS
> CANON
> IXUS CANON
> CANON IXUS
>
> or je ne vois pas trop comment faire
> j'ai bien tenté
> %ixus%canon%
>
> mais ca marche pô !!
>
>
>
>
mais le probleme c'est que je ne connais pas le nombre d'espace avant. Donc je ne construit pas ma requete en fonction se qui s'avererais penible, long et encore plus couteux en temps de recherche !!
y'a pas une syntaxe particuliere avec le like ? ou une autre methode ?
"Laurent Moreau" a écrit dans le message de news:ccgit6$184$
SELECT * FROM fiches WHERE Champ LIKE '%IXUS%' OR Champ LIKE '%CANON%'
Laurent.
"christophe" wrote in message news:% > Bonjour, > > > voila je fais une petite procedure qui doit rechercher dans la base. > Seulement j'aimerais .. > > quand l'utilisateur rentre par exemple > ixus canon > > que cela retrouve les fiches qui ont : > IXUS > CANON > IXUS CANON > CANON IXUS > > or je ne vois pas trop comment faire > j'ai bien tenté > %ixus%canon% > > mais ca marche pô !! > > > >
Sylvain Lafontaine
La signification du métacaractère % signifie: 0, 1 ou plusieurs caractères quelconques. L'exemple fourni par Laurent M. va donc fonctionner quelque soit le nombre de caractères ou d'espace avant.
S. L.
"christophe" wrote in message news:
oui merci,
mais le probleme c'est que je ne connais pas le nombre d'espace avant. Donc je ne construit pas ma requete en fonction se qui s'avererais
penible,
long et encore plus couteux en temps de recherche !!
y'a pas une syntaxe particuliere avec le like ? ou une autre methode ?
"Laurent Moreau" a écrit dans le
message
de news:ccgit6$184$ > SELECT * > FROM fiches > WHERE Champ LIKE '%IXUS%' OR Champ LIKE '%CANON%' > > > Laurent. > > > > "christophe" wrote in message > news:% > > Bonjour, > > > > > > voila je fais une petite procedure qui doit rechercher dans la base. > > Seulement j'aimerais .. > > > > quand l'utilisateur rentre par exemple > > ixus canon > > > > que cela retrouve les fiches qui ont : > > IXUS > > CANON > > IXUS CANON > > CANON IXUS > > > > or je ne vois pas trop comment faire > > j'ai bien tenté > > %ixus%canon% > > > > mais ca marche pô !! > > > > > > > > > >
La signification du métacaractère % signifie: 0, 1 ou plusieurs caractères
quelconques. L'exemple fourni par Laurent M. va donc fonctionner quelque
soit le nombre de caractères ou d'espace avant.
S. L.
"christophe" <christophe@ipnet.fr> wrote in message
news:uHpGYMBZEHA.2908@TK2MSFTNGP10.phx.gbl...
oui merci,
mais le probleme c'est que je ne connais pas le nombre d'espace avant.
Donc je ne construit pas ma requete en fonction se qui s'avererais
penible,
long et encore plus couteux en temps de recherche !!
y'a pas une syntaxe particuliere avec le like ? ou une autre methode ?
"Laurent Moreau" <l.moreau@SUPPRIMERCECIsystonic.fr> a écrit dans le
message
de news:ccgit6$184$1@s1.read.news.oleane.net...
> SELECT *
> FROM fiches
> WHERE Champ LIKE '%IXUS%' OR Champ LIKE '%CANON%'
>
>
> Laurent.
>
>
>
> "christophe" <christophe@ipnet.fr> wrote in message
> news:%23iRH1YAZEHA.1692@TK2MSFTNGP10.phx.gbl...
> > Bonjour,
> >
> >
> > voila je fais une petite procedure qui doit rechercher dans la base.
> > Seulement j'aimerais ..
> >
> > quand l'utilisateur rentre par exemple
> > ixus canon
> >
> > que cela retrouve les fiches qui ont :
> > IXUS
> > CANON
> > IXUS CANON
> > CANON IXUS
> >
> > or je ne vois pas trop comment faire
> > j'ai bien tenté
> > %ixus%canon%
> >
> > mais ca marche pô !!
> >
> >
> >
> >
>
>
La signification du métacaractère % signifie: 0, 1 ou plusieurs caractères quelconques. L'exemple fourni par Laurent M. va donc fonctionner quelque soit le nombre de caractères ou d'espace avant.
S. L.
"christophe" wrote in message news:
oui merci,
mais le probleme c'est que je ne connais pas le nombre d'espace avant. Donc je ne construit pas ma requete en fonction se qui s'avererais
penible,
long et encore plus couteux en temps de recherche !!
y'a pas une syntaxe particuliere avec le like ? ou une autre methode ?
"Laurent Moreau" a écrit dans le
message
de news:ccgit6$184$ > SELECT * > FROM fiches > WHERE Champ LIKE '%IXUS%' OR Champ LIKE '%CANON%' > > > Laurent. > > > > "christophe" wrote in message > news:% > > Bonjour, > > > > > > voila je fais une petite procedure qui doit rechercher dans la base. > > Seulement j'aimerais .. > > > > quand l'utilisateur rentre par exemple > > ixus canon > > > > que cela retrouve les fiches qui ont : > > IXUS > > CANON > > IXUS CANON > > CANON IXUS > > > > or je ne vois pas trop comment faire > > j'ai bien tenté > > %ixus%canon% > > > > mais ca marche pô !! > > > > > > > > > >
Bonjour,
en fait si je comprends bien votre problème c'est de splitter la chaine de caractère passée par l'utilisateur et d'utiliser ensuite chaque mots comme critères de recherche.
on peut peu être utiliser les fonctions de chaine de caractère voilà mon idée mais il est clair qu'il faudra l'améliorer cela dit si ça vous aide dans votre démarche
declare @tempvar nvarchar(250) declare @varun nvarchar(250) declare @vardeux nvarchar(250) set @tempvar= ltrim(rtrim('IXUS CANON')) -- suppression des espaces de gauche et de droite
set @varun = ltrim(rtrim(left(@tempvar,(charindex(' ', @tempvar,1))) )) -- récupère la partie gauche de la valeur saisie jusqu'au premier espace charindex renvoi la position de ' ' dans la chaine ce qui doit correspondre aussi au nombre de caractères
select from Matable where Champ like @varun or champ like @vardeux
plutot laborieux je trouve en plus on ne sait pas forcément le nombre de mots à extraire
A voir aussi peut être plus simple la recherche de texte intégral
Sebastien
"christophe" a écrit dans le message de news:%
Bonjour,
voila je fais une petite procedure qui doit rechercher dans la base. Seulement j'aimerais ..
quand l'utilisateur rentre par exemple ixus canon
que cela retrouve les fiches qui ont : IXUS CANON IXUS CANON CANON IXUS
or je ne vois pas trop comment faire j'ai bien tenté %ixus%canon%
mais ca marche pô !!
Bonjour,
en fait si je comprends bien votre problème c'est de splitter la chaine de
caractère passée par l'utilisateur et d'utiliser ensuite chaque mots comme
critères de recherche.
on peut peu être utiliser les fonctions de chaine de caractère voilà mon
idée mais il est clair qu'il faudra l'améliorer cela dit si ça vous aide
dans votre démarche
declare @tempvar nvarchar(250)
declare @varun nvarchar(250)
declare @vardeux nvarchar(250)
set @tempvar= ltrim(rtrim('IXUS CANON')) -- suppression des espaces de
gauche et de droite
set @varun = ltrim(rtrim(left(@tempvar,(charindex(' ', @tempvar,1))) )) --
récupère la partie gauche de la valeur saisie jusqu'au premier espace
charindex renvoi la position de ' ' dans la chaine ce qui doit correspondre
aussi au nombre de caractères
en fait si je comprends bien votre problème c'est de splitter la chaine de caractère passée par l'utilisateur et d'utiliser ensuite chaque mots comme critères de recherche.
on peut peu être utiliser les fonctions de chaine de caractère voilà mon idée mais il est clair qu'il faudra l'améliorer cela dit si ça vous aide dans votre démarche
declare @tempvar nvarchar(250) declare @varun nvarchar(250) declare @vardeux nvarchar(250) set @tempvar= ltrim(rtrim('IXUS CANON')) -- suppression des espaces de gauche et de droite
set @varun = ltrim(rtrim(left(@tempvar,(charindex(' ', @tempvar,1))) )) -- récupère la partie gauche de la valeur saisie jusqu'au premier espace charindex renvoi la position de ' ' dans la chaine ce qui doit correspondre aussi au nombre de caractères