查询中like使用法_like查询优化

查询中like使用法_like查询优化1. like 和 rlike 的区别 1. like 1. sql语法的 模糊匹配 2. 通配符 1. % 代表零个或任意字符 2. _ 代表1个字符 2. rlike 1. hive 扩展功能, 通过 Java 正则表达式 来匹配条件 3. 案例 like _单个字符 %任意字符+任意数量

查询中like使用法_like查询优化"

1. like 和 rlike 的区别

  1. like

    1. sql语法的 模糊匹配

        2. 通配符

      1. % 代表零个或任意字符

      2. _ 代表1个字符

2. rlike

  1. hive 扩展功能, 通过 Java 正则表达式 来匹配条件

3. 案例

    -- like _单个字符 %任意字符+任意数量 true = 1 false = 0 [基于sql实现的接口]
-- rlike 基于java正则实现的接口
--语法:A,B 匹配返回true,否则返回false,当A,B为null时,返回null
--区别:like 通配符匹配的是整个列,比如helloworld就无法和’world’通配
--但是正则表达式则是在列值内进行匹配,helloworld就可以和’world’匹配返回TRUE
--操作类型: strings
--返回类型: boolean或null
select
'football' like 'footba%' = 1
,null rlike '[a-z]*'
,'football' rlike null
,'helloworld' like 'world'
,'helloworld' rlike 'world'
,'helloworld' regexp 'world'

-- rlike 和 regexp 用法相同
--操作类型: strings
--返回类型: boolean或null
select
'helloworld' rlike 'world'
,rlike('helloworld','world') = 1


--语法: regexp_replace(string A, string B, string C)
--操作类型: string
--返回值: string
--说明: 将字符串A中的符合java正则表达式B的部分替换为C。

select
regexp_replace('h234ney','\\d+','@')
,regexp_replace('h234ney','\\d','@')

--语法: regexp_extract(string A, string pattern, int index)
--返回值: string
--说明:将字符串A按照pattern正则表达式的规则拆分,返回index指定的字符,index从1开始计。

select regexp_extract('honeymoon', 'ym', 0);

 

今天的文章查询中like使用法_like查询优化分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/54693.html

(0)
编程小号编程小号
上一篇 2023-08-28
下一篇 2023-08-28

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注