...
函数 | 描述 | |
---|---|---|
1 | coalesce(expr1, expr2, ...) :空值处理 | 函数说明:返回第一个非空参数,类似ifnull(expr1, expr2),可以设置多个表达式 示例:如果处理部门为空,则填充发起部门。 |
2 | nullif(expr1, expr2) :等值判定为空 | 函数说明:如果expr1等于expr2,则返回null,否则返回expr1; 示例: > SELECT nullif(2, 2); NULL |
3 | nvl(expr1, expr2) :空值处理 | 函数说明:如果为null,则返回值;支持2个表达式 示例:如果处理部门为空,则填充发起部门。 |
4 | nvl2(expr1, expr2, expr3) :空值处理 | 函数说明:如果不为null,则返回值,支持3个表达式 示例: > SELECT nvl2(NULL, 2, 1); 1 |
5 | endswith(left, right) :结尾判断 | 函数说明:返回布尔值。如果从左往右,以右侧字符串结尾,则该值为True。如果任一输入表达式为NULL,则返回NULL。否则,返回False。左边或右边都必须是STRING或BINARY类型。 示例: > SELECT endswith('Spark SQL', 'SQL'); true > SELECT endswith('Spark SQL', 'Spark'); false |
2、字符串拼接
函数 | 描述 | |
---|---|---|
1 | concat(col1, col2, ..., colN) :拼接字符串 | 函数说明:连接字符串col1, col2, ..., colN 示例: SELECT concat('Spark', 'SQL'); SparkSQL |
2 | concat_ws(sep,[column2],…,[columnN]) | 函数说明: concat_ws(“sep”,[column2],…,[columnN]):返回这N列拼接的带分隔符的字符串。 concat_ws(“sep”, str1, str2,…, strN):返回这N个字符串拼接后的字符串。
示例: >SELECT concat_ws(' ', 'Spark', 'SQL'); Spark SQL |
3、字符串长度
函数 | 描述 | |
---|---|---|
1 | length(expr) :字符串长度 | 函数说明:返回字符串的长度 示例: SELECT length('Spark SQL '); 10 SELECT length(x'537061726b2053514c'); 9 |
2 | CHAR_LENGTH(expr) :字符串长度 | 函数说明:返回字符串的长度 示例: SELECT CHAR_LENGTH('Spark SQL '); 10 |
3 | CHARACTER_LENGTH(expr) :字符串长度 | 函数说明:返回字符串的长度 示例: SELECT CHARACTER_LENGTH('Spark SQL '); 10 |
4、字符串查找、截取
函数 | 描述 | ||
---|---|---|---|
1 | 示例:instr | (str, substr) | 函数说明:返回从1开始的字符出现索引 示例: SELECT instr('SparkSQL', 'SQL'); 6 |
2 | 示例:left | (str, len) | 函数说明:返回第一个 n 字符 示例: SELECT left('Spark SQL', 3); Spa SELECT left(encode('Spark SQL', 'utf-8'), 3); Spa |
3 | locate, position | position | 函数说明:返回子字符串第一次出现的位置 示例: |
4 | first, first first_value | 返回第一个值 函数说明:函数说明:返回第一个值 示例: | |
5 | last, last last_value | 返回最后一个值 函数说明: 示例: | |
6 | parse_url | 提取URL的一部分 函数说明: 示例: | |
7 | repeat | 返回重复的字符串 函数说明: 示例: | |
8 | lag, (input[, offset[, default]]), lead | 函数说明:返回偏移前面的值 示例:函数说明:返回偏移前面的值。返回窗口中当前行之前的第二行的输入值。偏移量的默认值为1,默认值为null。如果offseth行的input值为null,则返回null。如果没有这样的偏移行(例如,当偏移为1时,窗口的第一行没有任何前一行),则返回默认值。 示例: > SELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b); A1 1NULL A1 11 A1 21 A2 3NULL | |
9 | substring(str, pos[, len]) | 函数说明:返回str从pos开始、长度为len的子字符串,或字节数组从pos结束、长度为len的切片。 示例: | |
10 | 函数说明:返回子字符串的索引 示例: | ||
11 | 函数说明:拆分字符串 示例: |
...