当where子句中的目标列是char(20)时,为什么返回结果?
declare @pallettag varchar(20)
set @pallettag = '168531'
--set @pallettag = @pallettag + SPACE(20 - Len(@pallettag))
select s.ROWID, s.SUBLOTCODE + '*', @pallettag + '*'
from IMSUBLOT as s
where s.SUBLOTCODE = @pallettag
Run Code Online (Sandbox Code Playgroud)
s.SUBLOTCODE定义为char(20),只有当我取消注释添加所需空格的第三行时,我才会得到结果.