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

 

posted @ 2013-08-02 22:10 桦仔 阅读(...) 评论(...)  编辑 收藏