我只希望从sh开始获取表中的所有数据,我使用此查询但它显示所有数据以' s开头。
Declare @search varchar
Set @search = 'sh'
BEGIN
SELECT * FROM tbl_master WHERE Name LIKE @search+'%'
END
答案 0 :(得分:3)
如果您将变量声明为varchar
- 您会得到一个vachar(1)
- 完全一个字符!
因此,如果您将sh
分配给该变量,那么它实际上只会变成s
....
您需要明确定义 varchar
的长度 - 始终!
DECLARE @search VARCHAR(20)
SET @search = 'sh'
SELECT * FROM tbl_master WHERE Name LIKE @search+'%'
答案 1 :(得分:0)
请指定 Varchar Length
您也可以尝试
Declare @search varchar(10)
Set @search = 'sh'
BEGIN
SELECT * FROM tbl_master WHERE LEFT(Name,2) = @search
END
<强> Fiddle Demo 强>