SQL Cookbook:一、检索记录(13)按模式搜索
2010-04-22 19:53
218 查看
问题
需要返回匹配特定的子串或模式的行。考虑下面的查询结果集:
在部门10和部门20,需要返回名字中有一个“I”或者职务(job title)中以“ER”结束的员工。
解决方案
使用LIKE运算符和SQL通配符“%”。
讨论
在LIKE模式匹配操作中,百分号“%”运算符可以匹配任何字符序列。多数的SQL实现中也提供了下划线“_”运算符来匹配单个字符。使用“%”运算符将搜索模式“I”包含起来,就会返回包含“I”的字符串,无论“I”在什么位置。如果不用“%”运算符将搜索模式“I”包含,那么这个运算符的位置就会影响查询的结果。例如,要查找以“ER”结尾的职务,就可以在“ER”前面加上前缀“%”运算符,如果需要查找以“ER”起始的职务,则将“%”放在“ER”的后面。
版权说明:作者:张颖希(PocketZ's Blog)
出处:http://www.cnblogs.com/PocketZ
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
本文翻译内容取自网络,纯粹是练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖!
需要返回匹配特定的子串或模式的行。考虑下面的查询结果集:
select ename, job from emp where deptno in (10,20)
ENAME | JOB |
---------- | ---------- |
SMITH | CLERK |
JONES | MANAGER |
CLARK | MANAGER |
SCOTT | ANALYST |
KING | PRESIDENT |
ADAMS | CLERK |
FORD | ANALYST |
MILLER | CLERK |
在部门10和部门20,需要返回名字中有一个“I”或者职务(job title)中以“ER”结束的员工。
ENAME | JOB |
---------- | ---------- |
SMITH | CLERK |
JONES | MANAGER |
CLARK | MANAGER |
KING | PRESIDENT |
MILLER | CLERK |
解决方案
使用LIKE运算符和SQL通配符“%”。
select ename, job from emp where deptno in (10,20)
and (ename like '%I%' or job like '%ER')
讨论
在LIKE模式匹配操作中,百分号“%”运算符可以匹配任何字符序列。多数的SQL实现中也提供了下划线“_”运算符来匹配单个字符。使用“%”运算符将搜索模式“I”包含起来,就会返回包含“I”的字符串,无论“I”在什么位置。如果不用“%”运算符将搜索模式“I”包含,那么这个运算符的位置就会影响查询的结果。例如,要查找以“ER”结尾的职务,就可以在“ER”前面加上前缀“%”运算符,如果需要查找以“ER”起始的职务,则将“%”放在“ER”的后面。
版权说明:作者:张颖希(PocketZ's Blog)
出处:http://www.cnblogs.com/PocketZ
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
本文翻译内容取自网络,纯粹是练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖!
相关文章推荐
- SQL Cookbook:一、检索记录(5)为列提供有意义的名称
- SQL Cookbook:一、检索记录(9)限制返回的行数
- SQL Cookbook:一、检索记录(10)从表中返回随机的n条记录
- oracle开发之<<SQL Cookbook>>学习笔记整理:第一章 检索记录
- SQL Cookbook:一、检索记录(1)从表中检索所有行和列
- SQL Cookbook:一、检索记录(7)连接列的值
- SQL Cookbook:一、检索记录(2)从表中检索部分行
- SQL Cookbook:一、检索记录(6)在WHERE子句中引用取别名的列
- SQL Cookbook:一、检索记录(3)查找满足多种条件的行
- SQL Cookbook:一、检索记录(8)在SELECT语句中使用条件逻辑
- SQL Cookbook:一、检索记录(12)将空值转换为实际值
- SQL Cookbook:一、检索记录(4)从表中检索特定的列
- SQL Cookbook:一、检索记录(11)查找空值
- Python Cookbook学习记录 ch1_13_2013/10/24
- SQL Cookbook阅读记录
- Python Cookbook学习记录 ch1_1_2013/10/20
- SQL高级语句-like在where子句中搜索列中的指定模式
- 基于《PythonCookbook》的学习(4)—— 文本模式的匹配和查找
- SQL.Cookbook 读书笔记2 查询结果排序
- SQL.Cookbook 读书笔记4 插入更新和删除