下面的查询不返回任何结果:为什么字符串不能与存储的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