目录

like 查找包含指定字符串的行

%(百分比)通配符

_(下划线)通配符

[ ](方括号)通配符

[ - ] 可指定范围

^ 通配符

NOT LIKE 与 like 作用相反


1.like 查找包含指定字符串的行

       在SQL Server 中当我们想要查询某些以字段和字母开头或结尾的数据时,可以使用Like来查找数据。一般在使用Like 时,我们得配合通配符来使用它。在下面我们会通过了解 Like 与通配符的使用方法和诸多例子来理解Like 在SQL Server 中的作用。

语法:

………

where 字段 like ' 查询条件 '

   

在上面语法中,我们查询我们需要的字段并给它添加查询条件。

查询条件可以包含以下有效通配符。

  • like模糊查询默认是不区分大小写的
  • 通配符百分比(%):任何零个或多个字符的字符串。
  • 下划线(_)通配符:任何单个字符。
  • [list of characters]通配符:指定集合中的任何单个字符。
  • [character-character]:指定范围内的任何单个字符。
  • [^]:不在列表或范围内的任何单个字符。

通配符 Like 运算符比等于(=)和不等于(!=)字符串比较运算符更灵活。

转义符

      转义字符指示LIKE运算符将通配符视为常规字符。转义字符没有默认值,必须仅计算为一个字符。

2. %(百分比)通配符

     使用 % 通配符可以查询以某字段开头或结尾的名称。

1:查找以A开头的同学姓名  

Select name
From sc
Where name Like ‘A%’
Order by name;

2:查找同学姓名以a 结尾的信息

Select name
From sc
Where name Like ‘%a’
Order by name;

3:查找包含某字段的产品

Select product_name
From pm.product
Where product_name Like ‘%Cruiser%’
Order by product_name;

在上面三个例子中介绍了 % 的三种用法。

3. _(下划线)通配符

下划线代表单个字符。

例:查询第3个字符为字母 e 的姓名。

Select name
From sc
Where name Like ‘_ _u%’
Order by name;

想要查询第几个字符就在前面加几个下划线,反之亦然。

4. [ ] 通配符

带有字符列表的方括号,例如:[ABC]表示单个字符,必须是列表中指定的字符之一。

例:查询姓名第一个字符为YZ的学生

Select name
From sc
Where name Like ‘[YZ]%’
Order by name;

在方括号里面放置需要查询的字母后,把 % 放在后面,就能查询到第一个字符以Y或Z开头的姓名了。

5. [ - ]通配符

具有字符范围的方括号,例如[A-C]表示必须在指定范围内的单个字符。

例:查询姓名第一个字符为AC的学生姓名

Select name
From sc
Where name Like ‘[A-C]%’
Order by name;

6. [^]通配符

带有插入符号(^)后跟范围,例如[A-C]或字符列表,例如[^ABC]的方括号表示不在指定范围或字符列表中的单个字符。

例:查询姓名第一个字符不是AC的学生姓名

Select name
From sc
Where name Like ‘[^A-C]%’
Order by name;

7. NOT LIKE 通配符

     Not like 与 like 的意思相反,like 是查询某些数据而 not like 是不查询某些数据。

例:查找不包含某字段的产品

Select product_name
From pm.product
Where product_name not Like ‘%Cruiser%’
Order by product_name;