2016-08-12 30 views
0

這將返回110個結果:T-SQL外卡帶回沒有結果

select * 
from regions 
where sponsor like '%' 

這將返回結果爲零,而應返回110個記錄:

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

select * 
from regions 
where sponsor like @sponsor 

回答

10

您使用的是CHAR(4),這意味着,當你做:

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

贊助商的實際值是'% '。無論是使用CHAR(1)還是VARCHAR(4)

+0

非常感謝你,我會在那一整天出演並且無處可去。我的大腦完全被炒了。我已經主演了超過一天的冗長查詢。它有3頁長。我想我只是要重寫它,因爲還有更多問題 – Roto

4

char類型填充爲空白。你的第二個查詢實際上相當於這個:

select * from regions where sponsor like '% ' 

@sponsor一個char(1)varchar(4)