Kto może wyjaśnić, dlaczego
select case when '' = ' ' then 1 else 0 end, LEN(''), LEN(' '), DATALENGTH(''), DATALENGTH(' ');
plony
----------- ----------- ----------- ----------- -----------
1 0 0 0 1
Zabawną tego konsekwencją jest to, że w
create table test ( val varchar(10) );
insert into test values( '' );
update test set val = ' ' where val = '';
aktualizacja rzeczywiście zastąpi pusty ciąg pustym, ale klauzula where pozostaje prawdą, a powtarzające się wykonanie instrukcji aktualizacji informuje
(1 row(s) affected)
źródło