ylm's space

null

导航

闭门造SQL

用来判断一个内容类似为"55|66|9"的表字段是否含有指定的值(@ecid),
比如@ecid的值为55,66或9时,查询都将返回该条记录:

select  *  from events
where
 ecid=@ecid  or
    ( substring(  (ecid+'|'),0,(charindex('|',ecid+'|'))     )      )= @ecid
     or(
      substring(
                  (substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|')))),
                   0,
                  (charindex('|',(substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|')))))))
               ) =  @ecid
      or
(substring(    
                          (substring((substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|')))),(charindex('|',(substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|'))))))+1,len((substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|')))))))  ,
                          0,
                          (charindex('|',(substring((substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|')))),(charindex('|',(substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|'))))))+1,len((substring((ecid+'|'),(charindex('|',ecid+'|'))+1,len((ecid+'|')))))))))
                         )
                ) =@ecid

posted on 2006-10-13 10:54  ylm㊣  阅读(283)  评论(0编辑  收藏  举报