【发布时间】:2011-12-21 18:06:03
【问题描述】:
我想知道如何识别表格中的尾随空格。我正在使用 SQL Server 2008 并创建下表作为测试
CREATE TABLE first_test_name
(
firstName varchar(255)
)
然后插入这样的记录:
insert into first_test_name (firstName)
values('Bob')
然后我尝试插入一个空格,然后像这样添加一条新记录:
insert into first_test_name (firstName)
values('Bob ') -- just 1 space
第三次,
insert into first_test_name (firstName)
values('Bob ') -- two spaces used this time.
现在,如果我查询“Bob”(没有空格),我仍然得到 3。 我的查询是:
select count(*) from first_test_name WHERE firstName = 'Bob'
答案不应该是 1 吗?
此外,我在此表上使用了sp_help,并且“修剪尾随空白”的值设置为 no。
那么为什么我的数是 3?我只期待 1 个。
在相关说明中,如果我使用此查询进行搜索
select * from first_test_name
where firstName like '% '
然后我得到找到的两行的正确答案。
所以重申一下,问题是为什么我在搜索“Bob”时得到的计数是 3。 另外,在这种情况下,“修剪尾随空白”是什么意思?
【问题讨论】:
-
看看这个链接decipherinfosys.wordpress.com/2007/02/15/…了解SQL Server如何比较字符串和空格
标签: sql sql-server sql-server-2008 tsql