笔记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