`
20386053
  • 浏览: 432267 次
文章分类
社区版块
存档分类
最新评论

Oracle LIKE ESCAPE子句

 
阅读更多

LIKE条件指定搜索值包含的匹配模式。

语法

char1是一个字符表达式,例如一个字符列,叫做搜索值。

char2是一个字符表达式,通常是一个字面量,叫做模型。

esc_char是一个字符表达式,通常是一个字面量,叫做转义字符

如果不指定esc_char,则没有默认转义字符。如果char1,char2或esc_char任何一个为空,则结果是未知的。然而如果指定了转移字符,则必须是一个长度为1字符串

所有的表达式可以是CHAR, VARCHAR2, NCHAR, or NVARCHAR2数据类型中的任何一种。如果他们的数据类型不一样,Oracle将他们所有的类型转换成char1的数据类型。

模型可以包含特殊字符匹配模式:

下划线(_):严格匹配一个字符。

百分号(%):可以匹配零个或多个字符。

如果搜索值中包含_或%,则需要使用escape子句。escape子句明确指定一个转义字符。如果搜索值中包行了转移字符本身,则使用两个连续的转义字符表示。例如@是转义字符,则可以使用@@搜索@。

examples

1.创建t_char表

SQL> create table t_char (a varchar2(30));

2.向t_char表中插入数据

insert into t_char values ('abc');
insert into t_char values ('a%b');
insert into t_char values ('abc%');
insert into t_char values ('bc%');
insert into t_char values ('ab%%c');
insert into t_char values ('%abc');
insert into t_char values ('ab/c');
insert into t_char values ('bcd');
insert into t_char values ('ab');
insert into t_char values ('b_c');
insert into t_char values ('ad');

3.查询包含d字符

SQL> select * from t_char where a like '%d%';

A
------------------------------
bcd
ad

4.查询包含通配符%

SQL> select * from t_char where a like '%/%%' escape '/';

A
------------------------------
a%b
abc%
bc%
ab%%c
%abc

5.查询包含两个通配符%

SQL> select * from t_char where a like '%/%/%%' escape '/';

A
------------------------------
ab%%c

6.查询以通配符%开始

SQL> select * from t_char where a like '/%%' escape '/';

A
------------------------------
%abc

7.查询以通配符%结尾

SQL> select * from t_char where a like '%/%' escape '/';

A
------------------------------
abc%
bc%

8.查询包含转义字符

SQL> select * from t_char where a like '%//%' escape '/';

A
------------------------------
ab/c

转移字符可以是长度为1的任意字符。

分享到:
评论

相关推荐

    08.Oracle的where子句1

    一、生成测试数据用以下SQL创建超女基本信息表(T_GIRL),插入一些测试数据 二、where子句的语法select 字段名1,字段名2,字段名n from

    oracle中where 子句和having子句中的区别介绍

    主要介绍了在oracle中where 子句和having子句中的区别,本文通过sql语句给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    Oracle使用技巧之case子句的用途.docx

    Oracle使用技巧之case子句的用途.docx

    Oracle start with.connect by prior子句实现递归查询

    Oracle start with.connect by prior子句实现递归查询

    oracle RETURNING 子句使用方法

    主要介绍了oracle RETURNING 子句使用方法,需要的朋友可以参考下

    oracle sql语言模糊查询–通配符like的使用教程详解

    oracle在Where子句中,可以对datetime、char、varchar字段类型的列用Like子句配合通配符选取那些“很像…”的数据记录,以下是可使用的通配符: % 零或者多个字符 _ 单一任何字符(下划线) \ 特殊字符 oracle...

    PostgreSQL LIKE 子句

    PostgreSQL LIKE 子句 在 PostgreSQL 数据库中,我们如果要获取包含某些字符的数据,可以使用 LIKE 子句。 在 LIKE 子句中,通常与通配符结合使用,通配符表示任意字符,在 PostgreSQL 中,主要有以下两种通配符: ...

    Oracle Exception汇总(自定义Oracle异常)

    Oracle Exception汇总(自定义Oracle异常) 使用方法举例: Exception When no_data_found then Dbms_output.put_line(‘no_data_found’); ACCESS_INTO_NULL 为对象赋值前必需初始化对象。对应ORA-06530错误。 CASE...

    Oracle SQL高级编程

    《Oracle SQL高级编程》:资深Oracle专家力作,OakTable团队推荐,全面、独到、翔实,题材丰富,Oracle开发人员和DBA必备。 媒体推荐 本书作者全部是OakTable的成员,且具有15-29年丰富的Oracle开发经验。在研究...

    Oracle Sql 性能优化

    ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表...

    Oracle11g从入门到精通2

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...

    oracle11g可能出现的问题

    对oracle11g中常出现的问题进行总结

    oracle语句优化方法.txt

    ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表...

    SQL like子句的另一种实现方法(速度比like快)

    主要介绍了SQL like子句的另一种实现方法(速度比like快),需要的朋友可以参考下

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

Global site tag (gtag.js) - Google Analytics