精华内容
下载资源
问答
  • Hive中rlike,like,not like,regexp区别与使用详解

    万次阅读 多人点赞 2018-03-05 22:56:48
    格式是A like B,其中A是字符串,B是表达式,表示能否用B去完全匹配A的内容,换句话说能否用B这个表达式去表示A的全部内容,注意这个rlike是有区别的。返回的结果是True/False. B只能使用简单匹配符号_%,”_”...

    1.like的使用详解

    1.语法规则:

    1. 格式是A like B,其中A是字符串,B是表达式,表示能否用B去完全匹配A的内容,换句话说能否用B这个表达式去表示A的全部内容,注意这个和rlike是有区别的。返回的结果是True/False.
    2. B只能使用简单匹配符号 _和%,”_”表示任意单个字符,字符”%”表示任意数量的字符
    3. like的匹配是按字符逐一匹配的,使用B从A的第一个字符开始匹配,所以即使有一个字符不同都不行。

    2.操作类型: strings
    3.使用描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B  的正则语法,则为TRUE;否则为FALSE。尤其注意NULL值的匹配,返回的结果不是FALSE和TRUE,而是null,其实除了is null ,is not null,其他的关系运算符只要碰到null值出现,结果都是返回NULL,而不是TRUE/FALSE。

    hive (default)> select  'abcde'  like 'abc';
    OK
    false
    hive (default)> select  null   like '%';
    OK
    NULL
    hive (default)> select  'abc'   like null ;
    OK
    NULL

    4.案例演示

    'foobar' LIKE 'foo'的值为FALSE,而'foobar' LIKE 'foo___'的值为TRUE, 'foobar' LIKE 'foo%'的值为TRUE。要转义%,请使用\(%匹配一个%字符)。如果数据包含分号,你想匹配它,则需要转义,像'a\;b'

    
    hive (default)> select  'abcde'  like 'abc';
    OK
    false
    hive (default)> select  'abcde'  like 'abc__';
    OK
    true
    hive (default)> select  'abcde'  like 'abc%';
    OK
    true
    hive (default)> select  'abcde'  like '%abc%';
    OK
    true
    hive (default)> select  'abcde'  like 'bc%';
    OK
    false
    hive (default)> select  'abcde'  like '_bc%';
    OK
    true
    hive (default)> select  'abcde'  like '_b%';
    OK
    true

    5.注意事项:否定比较时候用NOT A LIKE B(使用A NOT LIIKE B也可以),结果与like的结果时相对的。当然前提要排除出现null问题,null值这个奇葩除外。

    hive (default)> select  'abcde'  like 'abc';
    OK
    false
    hive (default)> select  not   'abcde'  like 'abc';
    OK
    true
    hive (default)> select    'abcde' not   like 'abc';
    OK
    true
    hive (default)> select null like '%';
    OK
    NULL
    hive (default)> select not  null like '%';
    OK
    NULL
    hive (default)> select   null not  like '%';
    OK
    NULL
    

    2. RLIKE比较符使用详解

    1.语法规则:

    1. A RLIKE B ,表示B是否在A里面即可。而A LIKE B,则表示B是否是A.
    2. B中的表达式可以使用JAVA中全部正则表达式,具体正则规则参考java,或者其他标准正则语法。

    2.操作类型: strings
    3.使用描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合JAVA正则表达式B的正则语法,则为TRUE;否则为FALSE。

    hive (default)> select 'footbar' rlike '^f..]+r$';
    OK
    false
    hive (default)> select 'footbar' rlike '^f.*r$';
    OK
    true
    hive (default)> select 'foobar' rlike 'foo';  --注意同样表达式,用正则匹配成功
    OK
    true
    hive (default)> select 'foobar' like 'foo';--注意同样表达式,用like匹配失败
    OK
    false
    hive (default)> select '123456' rlike '^\\d+$';
    OK
    true
    hive (default)> select null rlike '.*';
    OK
    NULL

    3.NOT A LIKE B 与 A not like B

      1. not..like是like的否定用法,如果like匹配结果时true,则not..like的匹配结果时false,反之也是结果也是相对。当然前提要排除出现null问题,null值这个奇葩除外,null的结果都是null值。

    hive> select 1 from t_fin_demo  where NOT 'football' like 'fff%';
            1
    hive>select 1 from t_fin_demo where 'football' not  like 'fff%';
            1
    hive> select 1 from t_fin_demo where 'football'  like 'fff%';

    4.关于like与rlike,not like,like not的使用对比总结

       1.Rlike功能和like功能大致一样,like是后面只支持简单表达式匹配(_%),而rlike则支持标准正则表达式语法。所以如果正则表达式使用熟练的话,建议使用rlike,功能更加强大。所有的like匹配都可以被替换成rlike。反之,则不行。但是注意:like是从头逐一字符匹配的,是全部匹配,但是rlike则不是,可以从任意部位匹配,而且不是全部匹配。

    hive (default)> select 'foobar' like 'foo';
    OK
    false
    hive (default)> select 'foobar' like 'foo';
    OK
    false
    hive (default)> select 'foobar' like 'oo%';
    OK
    false
    hive (default)> select 'foobar' rlike 'foo';
    OK
    true
    hive (default)> select 'foobar' rlike '.oo.*';
    OK
    true
    
    

       2. NOT A LIKE B是LIKE的结果否定,如果like匹配结果时true,则not..like的匹配结果时false,反之也是结果也是相对。实际中也可以使用 A NOT LIKE B,也是LIKE的否定,与 NOT A LIKE B一样。当然前提要排除出现null问题,null值这个奇葩除外,null的结果都是null值。

       3.同理NOT RLIKE 的使用,也是NOT  A  RLIKE  B是对RLIKE的否定。当然前提要排除出现null问题,null值这个奇葩除外,null的结果都是null值。

    5.regexp的用法和rlike一样

    展开全文
  • ThinkPHP 框架 查询语句 like和notlike

    千次阅读 2018-12-13 14:49:15
    like 查询以mth开头的订单 $data=M("order_qz_main")->where("...notlike 查询不以mth开头的订单 $data=M("order_qz_main")->where("ymain_id&qu

    like  查询以mth开头的订单

    $data=M("order_qz_main")->where("ymain_id","like","mth%")->select();
    var_dump($data);exit;

    notlike  查询不以mth开头的订单

    $data=M("order_qz_main")->where("ymain_id","notlike","mth%")->select();
    var_dump($data);exit;

     

    展开全文
  • like not like 优化

    2019-09-28 02:27:32
    instr(title,’手册’)>0 相当于like ...instr(title,’手册’)=0 相当于not like 对于LIKE语句,我们可以使用instr函数来进行SQL调优 转载于:https://www.cnblogs.com/hyde114/p/11526450.html...

    instr(title,’手册’)>0 相当于like

    instr(title,’手册’)=0 相当于not like

    对于LIKE语句,我们可以使用instr函数来进行SQL调优

    转载于:https://www.cnblogs.com/hyde114/p/11526450.html

    展开全文
  • mysql not like简化

    千次阅读 2018-06-05 15:19:58
    mysql支持正则表达式判断select * from user where name NOT LIKE '%AAA%' AND name NOT LIKE '%BBB%' AND name NOT LIKE '%CCC%'使用REGEXP正则表达式select * from user where name NOT REGEXP 'AAA|BBB|CCC'更多...

    mysql支持正则表达式判断

    select * from user where name NOT LIKE '%AAA%' AND name NOT LIKE '%BBB%' AND name NOT LIKE '%CCC%'

    使用REGEXP正则表达式

    select * from user where name NOT REGEXP 'AAA|BBB|CCC'

    更多用法可以搜REGEXP正则表达式

    展开全文
  • HIVE not like

    2012-06-20 11:51:19
    今天分析一批数据,hive 中不能像sql一样使用not like,然后第一反应是用rlike 绕过去,或是用正则。最后发现其实是饶了一圈,直接用hive的not 函数就好了not(A like B),哈哈,多么简单   ...
  • X++中sql文使用like和not like的方法

    千次阅读 2015-09-04 22:08:07
    X++的sql文不支持like关键字进行模糊查询。 所以可以用下面两种方法来实现。 1. strfmt方法 qbr.value(strfmt("%1*", strVar )) ...如果想进行not like 查询的话,需要用!%1 qbr.value(strFmt(
  • is not null 查询的是条件字段不为null的结果集 not like null查询的结果集合永远为空,且like null查询的结果集合也是永远为空的,根本查不出任何的记录。
  • mysql模糊查询like的用法 ...mysql模糊查询not like的用法 查询user表中姓名中没有“王”字的: select * from user where name not like '%王%' 查询user表中地址在上海姓名中没有“王”字所有姓...
  • 版本:3.1.0 评论 捐赠 分享 ...like和notlike查询支持数组方式,例如 $map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND');
  • Hibernate的HQL not like查询

    千次阅读 2017-02-06 09:45:14
    今天想用Hibernate的Restrictions用not like查询,结果发现Restrictions有not和like方法没有notlike方法,ilike表示不区分大小写的模糊查询。我想用Restrictions.not(Restrictions.like(propertyName, value))来查询...
  • show tables not like xxx

    千次阅读 2015-09-16 09:42:04
    有时候,比如备份...SHOW TABLES WHERE Name NOT LIKE 'tree%'; http://stackoverflow.com/questions/3698891/mysql-what-is-the-right-syntax-for-not-like http://stackoverflow.com/questions/4432062/matc
  • 1.情景展示  现在有一张表,需要将表中某字段的值不是以指定字符开头的列进行删除,如何实现? 2.问题分析  错误方案一:同事想到的是:这种方式 ... 错误方案二:既然不行,我首先想到的是:使用not ...
  • Hive中rlike,like,not like区别与使用详解

    千次阅读 2019-06-05 15:42:34
    1.like的使用详解 1.语法规则: 1.A like B只能使用简单匹配符号_%,”_”表示任意单个字符,字符”%”表示任意数量的字符 2.like的匹配是按字符逐一匹配的,使用B从A的第一个字符开始匹配,所以即使有一个字符不同...
  • 成功解决TypeError: a bytes-like object is required, not 'str'

    万次阅读 多人点赞 2018-11-07 22:31:18
    成功解决TypeError: a bytes-like object is required, not 'str' 目录 解决问题 解决思路 解决方法 解决问题 TypeError: a bytes-like object is required, not 'str' 解决思路 问题出在...
  • select * from table where `zongbu` not like '%北京%' and `zongbu` not like '%上海%' and `zongbu` not like '%深圳%' and `zongbu` not like '天津' and `zongbu` not like '香港' and `zongbu` no...
  • 如: select * from table where `zongbu` not like '%北京%' ...like '%上海%' and `zongbu` not like '%深圳%' and `zongbu` not like '天津' and `zongbu` not like '香港' and `zongbu` not like '沈阳'; ...
  • SQL基础——LIKE, BETWEEN, IN, NOT

    千次阅读 2013-07-20 15:13:42
    LIKE, BETWEEN, IN和NOT都是SQL语句中用来匹配条件的关键字,它们能够帮助用户更方便地查找出需要的数据。 下面用实例展示如何使用这几个关键字来查询数据。 数据库表: Player表:Id(PK), Name, Number, Age ...
  • 之前在itpub上看到有人问 ORACLE中用到NOT LIKE是否效率一定很低,尤其是数据量有几千万的时候,有哪些方法可以? 我在实际工作中,会用正则表达式来取代not like 如 select * from aa...
  • 我: SELECT * FROM table WHERE zongbu NOT REGEXP '北京|大连|鞍山|天津|香港|沈阳'; 我: SELECT * FROM `cpu_bidding` where bid_project_name not REGEXP '^本溪才开项目*|^7.5号*';
  • mongo morphia 实现not like

    2014-05-22 17:56:21
    用morphia做了一个查询,需要使用到类似not like 的条件来查询, 由于以前对morphia不太熟悉,所以到网上收索了一下,竟然木有找到……,所以很无奈的翻看文档,测试研究了半天,终于搞定,特总结于此备忘!...
  • oracle中like和regexp_like

    千次阅读 2019-05-21 09:48:20
    最近使用oracle中发现连续使用多个not like(超过4个之后)就查询不出结果,但是也不报错,比如:select * from a not like ‘%1%’ and a not like ‘%2%’ and a not like ‘%3%’ and a not like ‘%4%’ and a ...
  • NOT LIKE多个条件

    2012-06-19 22:49:55
    我的表REMARK列有多个近以条件,怎么样NOT LIKE ‘%走路%'及 NOT LIKE ‘%睡觉%',增加多个NO LIKE
  • mongodb not like 常用查询 关键词

    千次阅读 2016-12-15 18:49:26
    > db.ttt.find({"url":{$not:/sina.*/}},{"url":1}) { "_id" : ObjectId("584823515cb5e3b055d422a1") } { "_id" : ObjectId("5848278dc36807fdbe71d575") } { "_id" : ObjectId("584fc5593f8af788e2490ab8") } ...
  • SpringBoot Security:Encoded password does not look like BCrypt 解决
  • Spring Boot Security中Encoded password does not look like BCrypt异常解决办法 一. 异常描述 在SpringSecurity升级到新版本(SpringBoot2.x)后,因为默认把之前的明文密码方式给去掉了,所以在对授权客户端的密码...
  • 原由:spirng boot 1.5.* 升级到spring boot 2.0.*,当再次访问授权服务器时出现Encoded password does not look like BCrypt异常 分析:断点跟踪,发现是密码格式不匹配导致的。 在系统调用matches的时候,会...
  • like,notlike,in_,notin_,is_,isnot,startswith,endswith,contains,desc,asc,between,distinct 本次数据查询参考模型类数据如下:(Flask环境) class Protocols(db.Model) id = db.Column(db.Integer, primary_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 723,557
精华内容 289,422
关键字:

likelike和not