ITPub博客

首页 > 数据库 > > GaussDB100 LIKE ESCAPE子句

GaussDB100 LIKE ESCAPE子句

作者:GaussDB_数据库 时间:2020-02-20 13:43:35 0 删除 编辑

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3169999/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 系统表-PG_NAMESPACE
请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19281