MS SQL Server:
第一个sql:
select id, scope from delivery
where scope like '%bunkering%'
order by scope desc
Run Code Online (Sandbox Code Playgroud)
结果返回34行,在列范围内,我只得到文本加注.
尼斯.这是正确的.
现在我想使用变量,如下所示:
DECLARE @SCOPE varchar = '%bunkering%'
select id, scope from delivery
where scope like @SCOPE
order by scope desc
Run Code Online (Sandbox Code Playgroud)
但现在我得到了38排.而且现在不仅有文字加油行.还有文字" mecanisme port "
为什么?我只需要文本加油.我怎么能这样做?
您需要一个变量声明的长度:
DECLARE @SCOPE varchar(255) = '%bunkering%';
select id, scope
from delivery
where scope like @SCOPE
order by scope desc;
Run Code Online (Sandbox Code Playgroud)
声明变量时,varchar没有长度默认为长度1.因此,您已将变量设置@SCOPE为'%',应匹配所有行.