oracle sql like escape,Oracle LIKE ESCAPE子句

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

0818b9ca8b590ca3270a3433284dd417.png

语法

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的任意字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值