Кто может объяснить, почему
select case when '' = ' ' then 1 else 0 end, LEN(''), LEN(' '), DATALENGTH(''), DATALENGTH(' ');
доходность
----------- ----------- ----------- ----------- -----------
1 0 0 0 1
Забавным следствием этого является то, что в
create table test ( val varchar(10) );
insert into test values( '' );
update test set val = ' ' where val = '';
обновление действительно заменит пустую строку на пустую, но предложение where остается верным, и повторные выполнения оператора update сообщают
(1 row(s) affected)