T-SQL外卡带回来没有结果

时间:2016-08-12 14:39:39

标签: sql sql-server tsql

这会返回110结果:

select * 
from regions 
where sponsor like '%'

这将返回零结果,并应返回110条记录:

declare @sponsor char(4)
set @sponsor = '%'

select * 
from regions 
where sponsor like @sponsor

2 个答案:

答案 0 :(得分:10)

您正在使用CHAR(4),这意味着当您这样做时:

declare @sponsor char(4)
set @sponsor = '%'

赞助商的实际价值为'% '。使用CHAR(1)VARCHAR(4)

答案 1 :(得分:4)

char类型用空格填充。您的第二个查询实际上与此相同:

select * from regions where sponsor like '%   '

@sponsor成为char(1)varchar(4)