笔记38 Sql Server参数化查询之where in和like实现详解
笔记38 Sql Server参数化查询之where in和like实现详解
1 --Sql Server参数化查询之where in和like实现详解 2 /* 3 CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。 4 假如CHARINDEX没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果: 5 CHARINDEX('SQL', 'Microsoft SQL Server') 6 这个函数命令将返回在“Microsoft SQL Server”中“SQL”的起始位置, 7 在这个例子中,CHARINDEX函数将返回“S”在“Microsoft SQL Server”中的位置11 8 */ 9 --实际上使用的是CHARINDEX的比较功能,只要返回值大于0表示RecordNo==1 、2、3、4 10 --"select * from Users(nolock) where CHARINDEX(','+ltrim(str(UserID))+',',','+@UserID+',')>0" 11 select * from dbo.SystemPara (nolock) where CHARINDEX(','+ltrim(str(RecordNo))+',',','+'1,2,3,4'+',')>0 12 13 --like 同理 ,1,2,3,4, like %,1,% %,2,% %,3,% %,4,% 14 --"select * from Users(nolock) where ','+@UserID+',' like '%,'+ltrim(str(UserID))+',%' " 15 select * from dbo.SystemPara (nolock) where ','+'1,2,3,4'+',' like '%,'+ltrim(str(RecordNo))+',%' 16 17 --文章出处:http://www.cnblogs.com/lzrabbit/archive/2012/04/22/2465313.html