Quelque chose qui m'a complètement choqué, et m'a fait sentir comme un imbécile absolu.ZLS vs 1 espace char
select count(*) as [row count], myField as FieldValue, len(myField) as ValueLength
from myTable
where myField=N''
group by myField,len(myField)
Renvoie un record avec un comte en bonne santé, et [ValueLength] de 0.
Maintenant, si je change la clause WHERE pour: where myField=N' '
(ie changement d'un ZLS à un {espace})
La requête renvoie maintenant exactement le même résultat?
Comment cela peut-il être? SQL Server sait certainement la différence entre un ZSL et un espace? Mai c'est moi qui ne comprend pas!?
S'il vous plaît quelqu'un peut m'éclairer sur ce qui se passe sous le capot ici?
Merci beaucoup
Une note complémentaire; le comportement est (afaik) limité à SQL Server et n'est pas un comportement SQL standard. –