参数类型的问题,由于该字段的参数类型是参照数据表中字段的类型,导致参数类型为CHAR。
数据如下:
SELECT * FROM TEST1
正常情况下:
SELECT * FROM TEST1 WHERE NAME LIKE '%3%'
使用CHAR作为参数时:
DECLARE @NAME CHAR(10)
SET @NAME='3'
SELECT * FROM TEST1 WHERE NAME LIKE '%'+@NAME+'%'
解决方法1:将参数CHAR类型改成VARCHAR类型
解决方法2:将参数左右去空格
DECLARE @NAME CHAR(10)
SET @NAME='3'
SELECT * FROM TEST1 WHERE NAME LIKE '%'+RTRIM(LTRIM(@NAME))+'%'