Hive常用函数_20个字符串处理

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
相关推荐
精神病不行计算机不上班1 小时前
【数据仓库与数据挖掘基础】第一章 概论/基础知识
数据仓库·数据挖掘
GGGGGGGGGGGGGG.3 小时前
使用dockerfile创建镜像
java·开发语言
兮动人4 小时前
SpringBoot加载配置文件的优先级
java·spring boot·后端·springboot加载配置
我爱Jack4 小时前
HttpServletRequest 和 HttpServletResponse 区别和作用
java·spring·mvc
yyueshen4 小时前
volatile 在 JVM 层面的实现机制
java·jvm
慕容魏4 小时前
入门到入土,Java学习 day16(算法1)
java·学习·算法
认真的小羽❅4 小时前
动态规划详解(二):从暴力递归到动态规划的完整优化之路
java·算法·动态规划
m0_748254664 小时前
Spring Boot 热部署
java·spring boot·后端
mango02195 小时前
SpringMVC
java
Seven975 小时前
SpringCloud带你走进微服务的世界
java·后端·spring cloud