Problème avec l'opérateur LIKE dans SQL SERVER

cs_oluha Messages postés 71 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 5 février 2009 - 22 déc. 2004 à 13:40
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 22 déc. 2004 à 20:42
Bonjour

J'ai un petit problème avec une procédure stockée sur SQL server.
Dans celle ci j'utilise une requete de type :

select count(*) from matable where (a=@VAR1) and (b like '% '+@VAR2)

Si j'execute cette requette dans l'analyseur de requête j'obtient un résultat égale à 1, ce qui est correcte (je remplace mes variables par des valeurs). Cependant, quand je debug ma procédure stockée en mode pas à pas avec ces mêmes valeurs le résultat de la requête est égal à 0, ce qui est faux !

Comment résoudre ce problème ? Y a-t-il une fonction équivalent au LIKE ?

Merci !
A voir également:

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
22 déc. 2004 à 20:42
Salut,

Ouvre un profileur sur la base de données.
Et regarde la requête qui est exécutée

Tu vera l'appel à la procédure stockée.

Et donc la valeur envoyée par ton programme.
Elle est peut être pas celle que tu penses.

solution 1

SELECT [T-CLIENT].NOMC, [T-CLIENT].ADRESSEC1 FROM [T-CLIENT]WHERE
[T-CLIENT].NOMC like '%' + @Criteria + '%'

elle doit marcher

Solution 2 mais que je trouve pas top

-- assemblage du texte de la requête de recherche
Set @SQL = 'SELECT * FROM '+ @TableName
+ ' WHERE ' + @ColumnList
+ ' LIKE ''%' + @SearchWord +'%'''

PRINT 'INFO - @SQL value is : ' + @SQL -- juste pour voir !

-- exécution de la requête de recherche
Exec (@SQL)

celle la fonctionne
0
Rejoignez-nous