¿Quién puede explicar por qué?
select case when '' = ' ' then 1 else 0 end, LEN(''), LEN(' '), DATALENGTH(''), DATALENGTH(' ');
rendimientos
----------- ----------- ----------- ----------- -----------
1 0 0 0 1
La graciosa consecuencia de esto es que en
create table test ( val varchar(10) );
insert into test values( '' );
update test set val = ' ' where val = '';
la actualización reemplazará la cadena vacía por un espacio en blanco, pero la cláusula where sigue siendo verdadera y las ejecuciones repetidas de la declaración de actualización indican
(1 row(s) affected)
fuente