Problème de requète sur un champ de type string
Bonjour à la communauté de developpez.com
Je suis actuellement confronté à un problème très bizarre sur SQL SERVER (version 2008 R2, 10.50.2500.0).
Je m'explique. Dans une des tables SQL SERVER, j' ai un champ de type string qui renseigne un nom : "S. BICKLEY".
Alors, si Je fais une requête du type :
Code:
1 2 3 4
| SELECT nom_champ FROM Nom_table WHERE nom_champ='S. BICKLEY' --> rien
SELECT nom_champ FROM Nom_table WHERE nom_champ like '%S. BICKLEY%' --> ok ca s'affiche
SELECT nom_champ FROM Nom_table WHERE nom_champ like '%S. BICKLEY'--> rien
SELECT nom_champ FROM Nom_table WHERE nom_champ like 'S. BICKLEY%' --> ok ca s'affiche |
Si je fais un update avec une requete du type :
UPDATE nom_table SET nom_champ='S. BICKLEY' WHERE nom_champ like '%S. BICKLEY%'
tout refonctionne normalement... ouf ! mais bof quand même ;-)
Bref, vous l'aurez compris, c'est comme si ce qui est écrit dans ma table n' est pas vraiment ce qui est écrit ...
Et ce problème n' apparait qu'avec ce nom. J' ai vérifié 50 fois : il n' y a pas d'espace après 'BICKLEY' ni avant 'S.' ...
Je précise que je vois bien l'information écrite dans ma table avec Microsoft SQL Server Management.
Est ce que ce ne pourrait pas venir d'une différence de culture entre mon langage de programmation de l'application qui écrit dans la base
et le moteur SQLSERVER dans sa configuration ?
Ou peut être un problème dans la conversion de caractères ASCII ?
Peut il y avoir une différence entre l'information qui est écrit dans le fichier binaire de donnée SQL ? apparemment oui
J' avoue que je sèche un peu la...
Hervé