plsql查询中'%%'是模糊查询吗?为啥查不出来呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了plsql查询中'%%'是模糊查询吗?为啥查不出来呢?相关的知识,希望对你有一定的参考价值。

plsql查询中'%%'是模糊查询,操作方法如下:

1、首先在sql中选择一个表,检索数据,比如按orderNum进行模糊查询。

2、用like语句模糊查询,百分号之间的是模糊值。

3、执行以后就查出了包含模糊值的数据。

4、当后面的百分号不要,代表的是以模糊值结尾。

5、最后前面百分号不要证明,是查以模糊值开始的数据。

6、还可以使用mysql的模糊查询like,基本也是需要用到通配符_的,它的作用是:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。

参考技术A

在进行数据库查询时,有完整查询和模糊查询之分:

    完整查询用等号来匹配条件数据:SELECT 字段 FROM 表 WHERE 某字段 = 条件 ;

    模糊查询用like关键字来匹配查询条件:SELECT 字段 FROM 表 WHERE 某字段 Like 条件 ;

关于模糊查询中的条件,SQL提供了四种匹配模式:

    % :表示任意0个或多个字符。

    _ : 表示任意单个字符。

    [ ] :表示括号内所列字符中的一个(类似正则表达式)。

    [^ ] :表示不在括号所列之内的单个字符。

注:当采用通配符时,用等号来匹配时,将查询不到数据。

相关实例:

    SELECT * FROM TABLE_NAME  WHERE  FIELD_NAME LIKE '%1234%' ;  查询某字段含1234的数据

    SELECT * FROM TABLE_NAME  WHERE  FIELD_NAME LIKE '%1234' ;查询某字段以1234结尾的数据

    SELECT * FROM TABLE_NAME  WHERE  FIELD_NAME LIKE '1234%' ;查询某字段以1234开头的数据

    SELECT * FROM TABLE_NAME  WHERE  FIELD_NAME LIKE '_1234_' ; 查询数据长度为6位,中间四位是1234的数据

    SELECT * FROM TABLE_NAME  WHERE  FIELD_NAME LIKE '[abc]1234' ; 查询a1234, b1234 , c1234 这三种数据

    SELECT * FROM TABLE_NAME  WHERE  FIELD_NAME LIKE '[^abc]1234' ;查询不是a1234, b1234 , c1234 这三种数据的数据

参考技术B %要跟like一起用
比如id like '%ABC%'是查出id中含有ABC字符的数据
like '%ABC'是最后三位是ABC的, 'ABC%'是前三位ABC的本回答被提问者采纳
参考技术C %是可以模糊查询的,但是如果查带有2018/5/10,时间相连的“/”斜杠符的时候,它好像不识别,我也是试了之后才发现,直接查询之间的数字10是没有问题的 参考技术D 假设表结构如下:
id name job
1 jack_as cleak
2 roy_jj hawa
3 mini_hi comm
如果要查找name列的roy_jj
select * from 表名 where name like '%y%' %是通配符就是匹配前后所有字符;

以上是关于plsql查询中'%%'是模糊查询吗?为啥查不出来呢?的主要内容,如果未能解决你的问题,请参考以下文章

模糊查询中含有单引号

模糊查询

SQL中如果进行模糊查询整个表

oracle 模糊查询 模糊大小写

python 模糊查询

如何用MYSQL模糊查询?