mssql sqlserver 中like 替代写法分享


摘要:
sql脚本中like关键字是我们用于获取sql字段中是否包含指定值的方法,下文介绍一种全新的替代like的写法的方案,如下所示:
实验环境:sql server 2008 R2


在sqlserver,当我们需要检测一列是否包含某一个值时,我们会采用like写法,如下所示:

   ---将"列1"中包含maomao365.com值,全部显示出来
   select [列1],[列2],[列3] ... from [数据表] 
    where  [列1]  like '%maomao365.com%'
    
  ---替代方案的写法
   select [列1],[列2],[列3] ... from [数据表] 
    where   charindex('maomao365.com',[列1])>0 
  
   ---替代方案常用场景:
   ---特殊字符包含性检测
      ----列1 包含百分号的写法
       select [列1],[列2],[列3] ... from [数据表] 
       where   charindex('%',[列1])>0 
     
       ----列1 包含回车键的写法
       select [列1],[列2],[列3] ... from [数据表] 
       where   charindex(char(13),[列1])>0