Bonjour,

Je viens de découvrir un bug très étrange avec une requête contenant un LIKE sous SQL Server 2005.

La requête suivante me retourne 88 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT COUNT(*) AS NombreRetourne FROM maTable WHERE monChamp = 'aaa';
Donc il y a 88 lignes de maTable qui contiennent aaa dans monChamp


La requête suivante me retourne 88 lignes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM maTable WHERE monChamp LIKE '%aaa%';
De même que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM maTable WHERE monChamp LIKE 'aaa%';
Jusque là ça va...

Par contre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM maTable WHERE monChamp LIKE 'aaa';
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM maTable WHERE monChamp LIKE '%aaa';
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM maTable WHERE monChamp LIKE '_aa';
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM maTable WHERE monChamp LIKE 'aa_';
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM maTable WHERE monChamp LIKE 'a_a';
me retournent QUE 9 lignes.


1. Est-ce normal ?
2. Que dois-je faire ?
3. Dois-je en déduire que LIKE bug sous SQL Server 2005 ?


Je vous remercie pour vos réponses.





EDIT PROLEME RESOLU :

Il s'agirait bien d'un problème lié à la version d'SQL Server 2005, Microsoft propose de mettre à jour la version d'SQL Server 2005 avec Service Pack 4 :
http://support.microsoft.com/kb/959019