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

如题所述

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

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-11

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

    完整查询用等号来匹配条件数据: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 这三种数据的数据

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