请问如何查询条件是含有%的记录

请问如何查询条件是含有%的记录,oracle中有没有类似c中转义符的东西,谢谢。
---------------------------------------------------------------

SQL> select * from test3;

ID DOCTIME P1 NEWZYZ ZYZ1
---------- --------- ---------- -------------------- ----------
25 01-JUL-01 2002-01-01
26 01-JUL-01 1999-01-01
41 01-JUL-01 2000-01-01
6 24-SEP-02 1 asd sdf
7 24-SEP-02 2 adfsd dfsdf
8 24-SEP-02 4 asd%df dsfdsf%
6 01-JUL-01 2002-01-01
22 01-JUL-01 2001-01-01

8 rows selected.

SQL> select * from test3 where instr(newzyz,'%')>0;

ID DOCTIME P1 NEWZYZ ZYZ1
---------- --------- ---------- -------------------- ----------
8 24-SEP-02 4 asd%df dsfdsf%

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

对"%"字符用函数取ascii值,再用条件匹配。
---------------------------------------------------------------

select * from tabname where columnname like '%%' escape '';

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

ESCAPE关键字

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus