mssql sqlserver sql脚本模式匹配搜索方法简介


摘要:
下文讲述sql脚本查询中,四种匹配方式(%、_、[]、not)的用法简介,如下所示:
实验环境:sql server 2008 R2


  ---基础数据准备
   create table [maomao365.com]
   (keyId int identity, 
    info varchar(100))
  insert into [maomao365.com]
   (info)values(N'sql博客'),
   (N'sql教程'),(N'sqlserver爱好者'),
  ('a'),('b'),('mao')


1. % 通配符

%通配符可以匹配数据列中任意信息,例:
select * from [maomao365.com]
where info like ‘%s%’
—匹配列中包含s的数据
where info like ‘s%’
—匹配列中s开头的数据
where info like ‘%s’
—匹配列中s结尾的数据


2. _ 通配符

_通配符:匹配列中一个任意字符信息
where info like ‘_’
–匹配列中只包含一个字符的行
where info like ‘ma_’
–匹配列中以ma开头,共三个字符的行
where info like ‘_ao’
–匹配列中以任意字符开头,以ao结尾的行

3. [] 通配符

[]通配符,表示列中指定单个字符,可以为中括号内的任意字符则为符合条件
[^]通配符,表示列中指定单个字符,不能为中括号内的任意字符则为符合条件
where info like ‘[a-c]ao’
—第一个字符为a或b或c则为符合条件
where info like ‘[^a-c]ao’
—第一个字符不能为a则为符合条件
where info like ‘[^a]ao’

4. not求反

where info not like ‘%sql%’
–info列中不包含sql
where info not like ‘_’
–info列中不为一个字符的行信息

通配符检测数据,无法检测出列值为null的信息
如果匹配条件中,以通配符开头,则不能走索引查找–即不能高效的运用索引