如何使用sql server之类的查询?

时间:2014-07-31 04:59:28

标签: sql sql-server

我只希望从sh开始获取表中的所有数据,我使用此查询但它显示所有数据以' s开头。

  Declare @search varchar    
  Set @search = 'sh'    
  BEGIN    
    SELECT * FROM tbl_master WHERE Name LIKE @search+'%'    
  END

2 个答案:

答案 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