参考自 Impala String Functions
Impala
Impala的语法基本上和Hive相同,在一些函数上都可以共用,少量语法有点差异,字符串处理在sql有重要的作用。Impala的字符接收来自String、Varchar和Char类型的并且返回String类型
常见函数
ASCII(STRING str)
- 作用:返回参数第一个字符的数字ASCII码
- 返回类型:Int
[WIMI-DATA-02:21000] > select ASCII('A');
+------------+
| ascii('a') |
+------------+
| 65 |
+------------+
[WIMI-DATA-02:21000] > select ASCII('a');
+------------+
| ascii('a') |
+------------+
| 97 |
+------------+
BASE64DECODE和 BASE64ENCODE
- 作用:BASE64加密和解密
- 返回类型:String
[WIMI-DATA-02:21000] > select BASE64ENCODE('123');
+---------------------+
| base64encode('123') |
+---------------------+
| MTIz |
+---------------------+
[WIMI-DATA-02:21000] > select BASE64DECODE(BASE64ENCODE('123'));
+-----------------------------------+
| base64decode(base64encode('123')) |
+-----------------------------------+
| 123 |
+-----------------------------------+
[WIMI-DATA-02:21000] > select base64encode('hello') as encoded;
+----------+
| encoded |
+----------+
| aGVsbG8= |
+----------+
[WIMI-DATA-02:21000] > select base64decode('aGVsbG8=') as decoded;
+---------+
| decoded |
+---------+
| hello |
+---------+
BTRIM(STRING a), BTRIM(STRING a, STRING chars_to_trim)
- 作用:BTRIM(STRING a)去除字符串前后的的空格类似Java里面的.trim(),BTRIM(STRING a, STRING chars_to_trim)去除字符串前后的指定的字符串(个数不限) - 返回类型:String
[DATA-03:21000] > select ltrim(' abfd ')c1,btrim(' abfd ')c2,btrim(' abc fd ')c3;
+---------+------+----------+
| c1 | c2 | c3 |
+---------+------+----------+
| abfd | abfd | abc fd |
+---------+------+----------+
CHAR_LENGTH(STRING a), CHARACTER_LENGTH(STRING a)
- 作用:获取字符串的长度,
- 返回类型:Int
[DATA-03:21000] > select char_length('abdf') c1,character_length(