日期:2014-05-18  浏览次数:20750 次

问一个小问题?请大家看看是怎么回事
表:FOLK
folk folk_name
  1 汉族
  2 大汉 
在存储过程中
@folk_name VARCHAR(255),
@flag int OUTPUT
AS
SELECT @flag= count(folk_id)
FROM folk
WHERE folk_name LIKE '%'+@folk_name+'%'
GO
如果我输入的@folk_name为"汉",则有两条信息.我只想得到完全匹配的值,应该怎么写
WHERE folk_name = '%'+@folk_name+'%',却什么都得不到.

------解决方案--------------------
--完全匹配直接等于
WHERE folk_name=@folk_name
------解决方案--------------------
@flag int OUTPUT 直接可以查到吗?不用输出类型也可以吧,做判断的话我也也不用

create procedure GetAllByName

@folk_name VARCHAR(255), 

AS 
SELECT count(folk_id) as flag
FROM folk 
WHERE folk_name LIKE '% '+@folk_name+ '% ' 
GO
------解决方案--------------------
完全匹配????
直接...
folk_name=@folk_name 不就行了,不要模糊查询就可以了啊?