Hive中rlike,like,not like,regexp详解

本文详细介绍了Hive中关于字符串匹配的`like`、`rlike`、`not like`以及`regexp`的使用规则和区别。`like`仅支持简单匹配符号`_`和`%`,而`rlike`和`regexp`支持完整的正则表达式。`not like`和`NOT RLIKE`分别作为`like`和`rlike`的否定形式。在处理NULL值时,这些操作符会返回NULL。建议熟悉正则表达式的用户使用`rlike`,以利用其更强大的功能。
摘要由CSDN通过智能技术生成

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。

 
  1. hive (default)> select 'abcde' like 'abc';

  2. OK

  3. false

  4. hive (default)> select null like '%';

  5. OK

  6. NULL

  7. hive (default)> select 'abc' like null ;

  8. OK

  9. NULL

4.案例演示

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

 
  1.  
  2. hi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值