下面的查詢不返回任何結果:爲什麼字符串不能與存儲的varchar相等?
select *
from MyTable
where MyVarChar = '99903'
MyVarChar是varchar(20) not null
列。
以下的數據被存儲在該表(一拉「選擇*」):
Id MyVarChar
1 99901
2 99902
3 99903
有趣的是,如果我供應「99901」或「99902」在比較,得到了一個結果。
我試過ltrim
和rtrim
兩邊比較沒成功。
我很困惑。 :P有什麼想法?
您是否確定99903的記錄中沒有不可打印的字符?像一個選項卡或其他... – NotMe
我不是。但是我怎麼去測試呢? (除了修剪操作嗎?) –
你可以用'SELECT MyVarChar,LEN(MyVarChar)FROM MyTable'來測試它。結果的第二列中應該只有5個。 – trincot