一个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