ใครสามารถอธิบายได้ว่าทำไม
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 = '';
การอัปเดตจะแทนที่สตริงที่ว่างเปล่าโดยช่องว่าง แต่ส่วนคำสั่งที่เก็บเป็นจริงและการประมวลผลคำสั่ง update ซ้ำ
(1 row(s) affected)