Hive字符串函数--查找函数

简介: Hive字符串函数--查找函数
字符串的查找,数据开发过程中使用比较频繁。复杂的字符串查找,可以用正则表达式来解决,这个在之前的文章中,也有积累过,但是不是每一次的字符串查找都需要用正则表达式,因为正则表达式的规则还是比较难理解,对于初学者或者是刚开始做数据开发工作的小伙伴来说,还是比较复杂的。

今天,记录的这几个,简单易懂且常用的字符串查找函数,供各位小伙伴在数据开发的过程中可以学习使用。

一、like

1,语法格式:

 A like B

2,语法释义:

表示能否用一个字符串 B 去完全匹配另一个字符串A 的内容,换句话说能否用 B 这个表达式去表示另一个字符串A 的全部内容

3,参数释义:

like的匹配是按字符逐一匹配的,使用B从A的第一个字符开始匹配,所以即使有一个字符不同都不行。

4,语法规则:

B只能使用简单匹配符号 _和%,”_”表示任意单个字符,字符”%”表示任意数量的字符

5,示例SQL:

select  * from test.test_data ;

SELECT * FROM test.test_data 
WHERE 1=1 AND age LIKE '2%';

6,运行结果:

在这里插入图片描述
在这里插入图片描述

7,注意:

(1)除了is null ,is not null,其它的关系运算符只要碰到null值出现,结果都是返回NULL,而不是TRUE/FALSE。
示例SQL:

select null like '%';

select  '2' like null ;

运行结果:

null

null

(2)like在模糊查询的时候,类似‘%2%’,要转义%,请使用%匹配一个%字符,无法用\,所以需要用concate()函数将%拼接上去,

示例:like concat("%","str","%") 

二、instr()函数

1,语法格式:

instr(str,substr)

2,语法释义:

instr函数返回字符串str中子字符串substr第一次出现的位置,其中第一字符的位置是1,如果 str不含substr返回0,不可能返回负数。

3,参数释义:

str:需要被定位的字符串,
substr:待定位的字符串

4,示例SQL

SELECT instr('xiaohua','hua');

SELECT instr('xiaohua','jack')

5,运行结果:

5

0

三、find_in_set()

1,语法格式:

 find_in_set(string str, string strList) 

2,语法释义:

返回str在strlist第一次出现的位置,如果没有找该str字符,则返回0

3,参数释义:

string str:待定位的字符串
string strList:被定位的字符串集合,每一个字符串用‘,’隔开

4,示例SQL:

select find_in_set('xiaohua','tom,jack,rose,xiaohua');

select find_in_set('mark','tom,jack,rose,xiaohua')

5,运行结果:

4

0
字符串的查找函数,有时候单独使用,有时候也需要和别的函数配合使用,其实hive的函数都是这样,get到每一个函数的用法,在拿到需求的时候,结果不同函数的功能去选择,事半功倍。

今天的分享到这里结束了,我是喵~~,大家一起交流学习呀!

相关文章
|
6月前
|
SQL HIVE
Hive LAG函数分析
Hive LAG函数分析
83 0
|
6月前
|
SQL JSON Java
Hive【Hive(四)函数-单行函数】
Hive【Hive(四)函数-单行函数】
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
35 4
|
1月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
33 2
|
6月前
|
SQL HIVE
hive高频函数(一)
hive高频函数(一)
54 0
|
2月前
|
SQL JavaScript 前端开发
Hive根据用户自定义函数、reflect函数和窗口分析函数
Hive根据用户自定义函数、reflect函数和窗口分析函数
33 6
|
6月前
|
SQL XML JSON
Hive函数全解——思维导图 + 七种函数类型
Hive函数全解——思维导图 + 七种函数类型
130 2
Hive函数全解——思维导图 + 七种函数类型
|
6月前
|
SQL 分布式计算 HIVE
Hive Cli / HiveServer2 中使用 dayofweek 函数引发的BUG!
在Hive 3.1.2和Spark 3.0.2集群环境中,遇到`dayofweek`函数bug。当`create_date`为字符串类型时,`dayofweek`函数结果错位。修复方法是将`create_date`转换为`date`类型。在Spark SQL中,原始代码能正常运行,未出现此问题。因此建议在Hive中使用转换后的日期类型以避免错误。
72 4
|
6月前
|
SQL HIVE
【Hive SQL】字符串操作函数你真的会用吗?
本文介绍了SQL中判断字符串是否包含子串的几种方法。`IN`函数判断元素是否完全等于给定元素组中的某项,而非包含关系。`INSTR`和`LOCATE`函数返回子串在字符串中首次出现的位置,用于检测是否存在子串。`SUBSTR`则用于提取字符串的子串。`LIKE`用于模糊匹配,常与通配符配合使用。注意`IN`并非用于判断子串包含。
419 3
|
6月前
|
SQL HIVE 索引
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
Hive【Hive(五)函数-高级聚合函数、炸裂函数】

热门文章

最新文章