天天看點

oracle like模糊查詢

從網上搜了一下,了解後歸納之如下:

LIKE 模糊查詢

    字元比對操作可以使用通配符 “%” 和 “_”:

    %:表示任意個字元,包括零個;

    _:表示一個任意字元;

(1)其中like的用法是:

select * from fzq where  aaa LIKE '%bbbb%'  

--%是通配符,可以代表任何合法字元。這個語句意思是fzq table中的aaa 字段 ,查找含有bbbb的所有資料

select * from fzq where  aaa LIKE 'bbbb%' 

--查找前四位是bbbb的所有資料

select * from fzq where  aaa LIKE '%bbbb' 

--查找後四位是bbbb的所有資料

(2)_的用法如下:

SQL> select * from dept;  

DEPTNO DNAME          LOC  

------ -------------- -------------  

    10 ACCOUNTING     NEW YORK  

    20 RESEARCH       DALLAS  

    30 SALES          CHICAGO  

    40 OPERATIONS     BOSTON  

"%" 和 "_"示範:

Sql代碼  

SQL> select * from dept where DNAME like '_A%';  

DEPTNO DNAME          LOC  

------ -------------- -------------  

    30 SALES          CHICAGO  

(3)當出現通配符在字段中時,如何表示: 

ESCAPE 示範:

Sql代碼  

SQL> insert into dept values(50,'BEIJING','JIANG%XI');  

1 row inserted     www.2cto.com  

SQL> select * from dept;  

DEPTNO DNAME          LOC  

------ -------------- -------------  

    10 ACCOUNTING     NEW YORK  

    20 RESEARCH       DALLAS  

    30 SALES          CHICAGO  

    40 OPERATIONS     BOSTON  

    50 BEIJING        JIANG%XI  

 SQL> select * from dept where loc like '%\%%' escape '\';  

DEPTNO DNAME          LOC  

------ -------------- -------------  

    50 BEIJING        JIANG%XI  

 SQL> select * from dept where loc like '%e%%' escape 'e';  

DEPTNO DNAME          LOC  

------ -------------- -------------  

    50 BEIJING        JIANG%XI