ASCII(STRING str)
- 定义:
ascii(string str)
- 说明:返回字符串中第一个字符的ASCII码
- 返回值类型:int
- 案例
SELECT ASCII('Hello'), ASCII(1), ASCII(NULL), ASCII('李四'), ASCII('张三');
+
| _c0 | _c1 | _c2 | _c3 | _c4 |
+
| 72 | 49 | NULL | -26 | -27 |
+
LENGTH(STRING a)
- 定义:
length(string A)
- 说明:返回字符串长度
- 返回值类型:int
- 案例
SELECT LENGTH('fOoBaR'), LENGTH('你好');
+
| _c0 | _c1 |
+
| 6 | 2 |
+
CHARACTER_LENGTH(STRING str)、CHAR_LENGTH(STRING str)
- 定义:
character_length(string str) char_length(string str)
- 说明:返回字符串中包含的UTF-8字符的个数
- 返回值类型:int
- 可用版本:hive-2.2.0+
- 案例
SELECT CHARACTER_LENGTH('fOoBaR'), CHARACTER_LENGTH('你好'), CHAR_LENGTH('부모님건강하세여');
+
| _c0 | _c1 | _c2 |
+
| 6 | 2 | 8 |
+
TRIM(STRING a)、LTRIM(STRING a)、RTRIM(STRING a)
- 定义:
trim(string A) ltrim(string A) rtrim(string A)
- 说明
- trim:去除字符串左右两边的空白字符
- ltrim:去除字符串左边的空白字符
- rtrim:去除字符串右边的空白字符
- 返回值类型:string
- 案例
SELECT CONCAT('"', TRIM(' fOoBaR '), '"') AS trim;
+
| trim |
+
| "fOoBaR" |
+
SELECT CONCAT('"', LTRIM(' fOoBaR '), '"') AS ltrim;
+
| ltrim |
+
| "fOoBaR " |
+
SELECT CONCAT('"', RTRIM(' fOoBaR '), '"') AS rtrim;
+
| rtrim |
+
| " fOoBaR" |
+
LPAD(STRING str, INT len, STRING pad)、RPAD(STRING str, INT len, STRING pad)
- 定义:
lpad(string str, int len, string pad) rpad(string str, int len, string pad)
- 说明
- lpad:在字符串左边填充指定的字符,使得填充后的字符串的长度为len;如果原字符串的长度>len,则去除原字符串右边的字符使其长度为len;如果填充字符是空字符串,则返回NULL。
- rpad:在字符串左边填充指定的字符,使得填充后的字符串的长度为len;如果原字符串的长度>len,则去除原字符串右边的字符使其长度为len;如果填充字符是空字符串,则返回NULL。
- 返回值类型:string
- 案例
SELECT LPAD('HELLO', 10, '0');
+
| _c0 |
+
| 00000HELLO |
+
SELECT LPAD('HELLO', 4, '0');
+
| _c0 |
+
| HELL |
+
SELECT LPAD('HELLO', 10, '');
+
| _c0 |
+
| NULL |
+
SELECT RPAD('HELLO', 10, '0');
+
| _c0 |
+
| 00000HELLO |
+
SELECT RPAD('HELLO', 4, '0');
+
| _c0 |
+
| HELL |
+
SELECT RPAD('HELLO', 10, '');
+
| _c0 |
+
| NULL |
+
LOWER(STRING a)、LCASE(STRING a)
- 定义:
lower(string A) lcase(string A)
- 说明:字符串转小写
- 返回值类型:string
- 案例
SELECT LOWER('fOoBaR'), LCASE('fOoBaR');
+
| _c0 | _c1 |
+
| foobar | foobar |
+
UPPER(STRING a)、UCASE(STRING a)
- 定义:
upper(string A) ucase(string A)
- 说明:字符串转大写
- 返回值类型:string
- 案例
SELECT UPPER('fOoBaR'), UCASE('fOoBaR');
+
| _c0 | _c1 |
+
| FOOBAR | FOOBAR |
+
REPLACE(STRING a, STRING old, STRING new)
- 定义:
replace(string A, string OLD, string NEW)
- 说明:把一个字符串中的所有OLD字符串替换成NEW字符串
- 返回值类型:string
- 可用版本:hive-1.3.0+、hive-2.1.0+
- 案例
SELECT REPLACE("ababab", "abab", "Z");
+
| _c0 |
+
| Zab |
+
SELECT REPLACE("ababab", "ab", "Z");
+
| _c0 |
+
| ZZZ |
+
REGEXP_REPLACE(STRING initial_string, STRING pattern, STRING replacement)
- 定义:
regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT)
- 说明:在一个字符串中进行正则匹配,将匹配到的部分替换为REPLACEMENT
- 返回值类型:string
- 案例
SELECT REGEXP_REPLACE("foobar", "oo|ar", "");
+
| _c0 |
+
| fb |
+
CONCAT(STRING|BINARY a, STRING|BINARY b) 和 ||
- 定义:concat(string|binary A, string|binary B...)
- 说明:连接多个字符串或多个字节数组,'A' || 'B' = concat('A', 'B')
- 返回值类型:string
- 案例
SELECT CONCAT("A", "B", "C");
+------+
| _c0 |
+------+
| ABC |
+------+
SELECT "A" || "B" || "C";
+------+
| _c0 |
+------+
| ABC |
+------+
CONCAT_WS(STRING sep, STRING a, STRING b...)
- 定义:
concat_ws(string SEP, string A, string B...)
- 说明:连接多个字符串,连接符为sep
- 返回值类型:string
- 案例
SELECT CONCAT_WS("-", "A", "B", "C");
+--------+
| _c0 |
+--------+
| A-B-C |
+--------+
SPLIT(STRING str, STRING pat)
- 定义:
split(string str, string pat)
- 说明:将字符传str根据正则表达式pat定义的规则拆分成数组
- 返回值类型:array
- 案例
SELECT SPLIT("Hello,World", ",");
+--------------------+
| _c0 |
+--------------------+
| ["Hello","World"] |
+--------------------+