MySQL結(jié)構(gòu)化查詢語言中,LIKE語句有著至關(guān)重要的作用。LIKE操作符用于在WHERE 子句中搜索列中的指定模式。
語法格式是:
select * from 表名 where 字段名 like 模式字符串
它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索和模式字符串對應(yīng)的子串。下面就模式字符串最常用的兩個通配符舉例說明:
?% 是用于與包含0個或多個字符的字符串匹配
?_是用于與包含1個字符的字符串匹配
示例:顯示emp表中姓名以字符”A”開頭的所有員工信息。
SQL> SELECT * FROM emp WHERE ename LIKE 'A%';
EMPNO ENAME ?????JOB ????????MGR HIREDATE ?????????SAL ?????COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7499 ALLEN ?????SALESMAN ??7698 1981/2/20 ????1600.00 ???300.00 ????30
7876 ADAMS ?????CLERK ?????7788 1987/5/23 ????1100.00 ??????????????20
示例:顯示emp表中姓名包含字符”A”的所有員工信息。
SQL> SELECT * FROM emp WHERE ename LIKE '%A%';
EMPNO ENAME ?????JOB ????????MGR HIREDATE ?????????SAL ?????COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7499 ALLEN ?????SALESMAN ??7698 1981/2/20 ????1600.00 ???300.00 ????30
7521 WARD ??????SALESMAN ??7698 1981/2/22 ????1250.00 ???500.00 ????30
7654 MARTIN ????SALESMAN ??7698 1981/9/28 ????1250.00 ??1400.00 ????30
……
7900 JAMES ?????CLERK ?????7698 1981/12/3 ?????950.00 ??????????????30
7 rows selected
示例:顯示emp表中姓名第2個字符是”A”的所有員工信息。
SQL> SELECT * FROM emp WHERE ename LIKE '_A%';
EMPNO ENAME ?????JOB ????????MGR HIREDATE ?????????SAL ?????COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7521 WARD ??????SALESMAN ??7698 1981/2/22 ????1250.00 ???500.00 ????30
7654 MARTIN ????SALESMAN ??7698 1981/9/28 ????1250.00 ??1400.00 ????30
7900 JAMES ?????CLERK ?????7698 1981/12/3 ?????950.00 ??????????????30
3rows selected