创建的代码如下:请问各位大虾,在like中的参数应该怎样写:(其他的都已经可以的了,就是参数那里不知书写格式)
alter proc DanPinXiaoShouMaoLiPaiHangBang
@DateFrom varchar(50),
@DateTo varchar(50),
@String varchar(50)
as
select  PhyID,
PhyName,
Spec,
Unit,
Producer,
sum(XiaoShouE) as TotalXiaoShouE 
from  dbo.DanPinXiaoShouTongJi
where PhyID like '@String%'
and convert(smalldatetime,BillDate,120) between @DateFrom and  @DateTo 
or 
PhyName like '@String%' 
and convert(smalldatetime,BillDate,120) between @DateFrom and  @DateTo
group by PhyID,
PhyName,
Spec,
Unit,
Producer 
order by TotalXiaoShouE desc

解决方案 »

  1.   

    wherePhyID like '@String%'
    PhyName like '@String%' -->改为wherePhyID like @String + '%'
    PhyName like @String + '%' 
    如果是全模糊,需要两边加%,如:
    wherePhyID like '%' + @String + '%'
    PhyName like '%' + @String + '%' 
      

  2.   

    建议不要在SQL语句中处理模糊查询,在传入参数处理:语句直接是:select * from Table where PhyName  like @String
    参数可以传入:'%a%','%a','a%'
    这样比较灵活
      

  3.   

    1.
    wherePhyID like @String + '%'
    PhyName like @String + '%'
    2.
    declare @String
    set @String = '%' + string + '%'wherePhyID like @String
    PhyName like @String
      

  4.   

    wangtiecheng(不知不为过,不学就是错!) 
    谢谢你,已解决!