关于存储过程模糊查询问题!
--语句1:DECLARE @statement nvarchar(max),
@parameters nvarchar(max),
@sGoods_code nvarchar(50),
@SqlVar nvarchar(100)
SET @parameters=N'@sGoods_code char(50)'
SET @SqlVar='AND sGoods_code LIKE @sGoods_code'
SET @sGoods_code='%amxl%'
SELECT @statement='SELECT * FROM tb_GoodsInfo M WHERE iGoods_ID>0'+@SqlVar
execute sp_executesql @statement,@parameters,@sGoods_code
--------------------------------------------------------------------------
--语句二:
SELECT * FROM tb_GoodsInfo WHERE iGoods_ID>0 AND sGoods_code LIKE '%amxl%'
--------------------------------------------------------------------------
上面两种查询方式反回的结果是不一样的!
我的理解是都返回满足条件iGoods_ID>0 AND sGoods_code LIKE '%amxl%'的结果集!
还有一点是表tb_GoodsInfo 中字段sGoods_code 的类型是char!
是不是字段类型nvarchar与char不同引起的,该怎么写语句1达到语句2的效果呢?
请各位指点一下,非常感谢!