SQL Cookbook:一、检索记录(13)按模式搜索
問題
??? 需要返回匹配特定的子串或模式的行。考慮下面的查詢結果集:
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
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
本文翻譯內容取自網絡,純粹是練習英文水平,如有雷同,純屬意外!有不妥之處,歡迎拍磚!
轉載于:https://www.cnblogs.com/PocketZ/archive/2010/04/22/1718200.html
總結
以上是生活随笔為你收集整理的SQL Cookbook:一、检索记录(13)按模式搜索的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 代码运行框
- 下一篇: Ultraedit使用技巧收集