目录
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]表示单个字符,必须是列表中指定的字符之一。
例:查询姓名第一个字符为Y或Z的学生
Select name
From sc
Where name Like ‘[YZ]%’
Order by name;
在方括号里面放置需要查询的字母后,把 % 放在后面,就能查询到第一个字符以Y或Z开头的姓名了。
5. [ - ]通配符
具有字符范围的方括号,例如[A-C]表示必须在指定范围内的单个字符。
例:查询姓名第一个字符为A或C的学生姓名
Select name
From sc
Where name Like ‘[A-C]%’
Order by name;
6. [^]通配符
带有插入符号(^)后跟范围,例如[A-C]或字符列表,例如[^ABC]的方括号表示不在指定范围或字符列表中的单个字符。
例:查询姓名第一个字符不是A或C的学生姓名
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;