Hive常用函数_20个字符串处理
以下是Hive中常用的字符串处理函数,可用于执行各种字符串处理转换操作。
1. CONCAT()
:将多个字符串连接在一起。
c
SELECT CONCAT('Hello', 'World');
-- Output: HelloWorld
2. SUBSTR()
:从字符串中提取子字符串,从指定位置开始,指定长度。
c
SELECT SUBSTR('HelloWorld', 6, 5);
-- Output: World
3. UPPER()
:将字符串转换为大写。
c
SELECT UPPER('hello');
-- Output: HELLO
4. LOWER()
:将字符串转换为小写。
c
SELECT LOWER('WORLD');
-- Output: world
5. TRIM()
:去除字符串两侧的空格。LTRIM
(去除左侧)、RTRIM
(去除右侧)
c
SELECT TRIM(' Hello ');
-- Output: Hello
6. LENGTH()
:返回字符串的长度。
c
SELECT LENGTH('Hive');
-- Output: 4
7. REPLACE()
:替换字符串中的旧子字符串为新子字符串。
c
SELECT REPLACE('Hello, World', 'Hello', 'Hi');
-- Output: Hi, World
8. SPLIT()
:根据指定分隔符将字符串拆分为数组。
c
SELECT SPLIT('apple,orange,banana', ',');
-- Output: ['apple', 'orange', 'banana']
9. INSTR()
:返回子字符串在字符串中第一次出现的位置。
c
SELECT INSTR('Hello, World', 'World');
-- Output: 7
10. REGEXP_EXTRACT()
:使用正则表达式从字符串中提取匹配的子字符串。
c
SELECT REGEXP_EXTRACT('The price is $10.99', '\\$(\\d+\\.\\d+)', 1);
-- Output: 10.99
11. REGEXP_REPLACE()
:使用正则表达式替换字符串。
c
SELECT REGEXP_REPLACE('apple orange', 'a', 'A');
-- Output: Apple orange
12. REVERSE()
:反转字符串。
c
SELECT REVERSE('Hello');
-- Output: olleH
13. LPAD()
:在字符串左侧填充指定字符,使字符串达到指定长度。
c
SELECT LPAD('Flink', 10, '*');
-- Output: ``*Flink
14. RPAD()
:在字符串右侧填充指定字符,使字符串达到指定长度。
c
SELECT RPAD('Hive', 8, '-');
-- Output: Hive----
15. LOCATE()
:返回子字符串在字符串中第一次出现的位置。
c
SELECT LOCATE('ra', 'orange');
-- Output: 2
16. CONCAT_WS()
:将多个字符串使用指定分隔符连接在一起。
c
SELECT CONCAT_WS('-', '2022', '01', '01');
-- Output: 2022-01-01
17. INITCAP()
:将字符串中每个单词的首字母大写。
c
SELECT INITCAP('hello world');
-- Output: Hello World
18. SUBSTRING()
:从字符串中提取子字符串,从指定位置开始,指定长度。
c
SELECT SUBSTRING('abcdef', 2, 3);
-- Output: bcd
19. ASCII()
:返回字符串第一个字符的ASCII码值。
c
SELECT ASCII('A');
-- Output: 65
20. REPEAT()
:重复字符串指定次数。
c
SELECT REPEAT('Hi', 3);
-- Output: HiHiHi