Wer kann das erklären?
select case when '' = ' ' then 1 else 0 end, LEN(''), LEN(' '), DATALENGTH(''), DATALENGTH(' ');
Ausbeuten
----------- ----------- ----------- ----------- -----------
1 0 0 0 1
Die lustige Folge davon ist, dass in
create table test ( val varchar(10) );
insert into test values( '' );
update test set val = ' ' where val = '';
Das Update ersetzt zwar die leere Zeichenfolge durch ein Leerzeichen, die where-Klausel bleibt jedoch wahr, und die wiederholte Ausführung der update-Anweisung weist darauf hin
(1 row(s) affected)