一个SQL查询的小技巧(WHERE column IN (***))

平时查询中有可能会遇到用户输入多个NickName,然后我们在这个指定的范围内查询纪录,而这个字符串又不是直接在SQL写死的,是动态变化的.那我们可以按照下面的代码先对输入的NickName进行一下处理。我们假设用户现在输入的@strNickName 值为'a,b,c'

DECLARE  @strNickName NVARCHAR(100)
SET @strNickName='a,b,c'
SET @strNickName=''''+REPLACE(@strNickName,',',''',''')+''''
PRINT @strNickName
DECLARE @sql NVARCHAR(1000)
SET @sql='
           SELECT * FROM dbo.[User]
           WHERE UserNickName IN('+@strNickName+')' 
EXEC sp_sqlexecute @sql

posted on 2004-05-21 09:48  吹雪  阅读(3401)  评论(5编辑  收藏  举报

导航