...
函数 | 描述 | |
---|---|---|
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 | 函数说明:返回子字符串第一次出现的位置 示例: |
4 | first, first_value | 函数说明:返回第一个值 示例: |
5 | last, last_value |
返回最后一个值
函数说明:返回最后一个值 示例: | |
6 | parse_url |
---|
函数说明:提取URL的一部分 |
函数说明:
示例: | ||
7 | repeat | 函数说明:返回重复的字符串 |
---|
函数说明:
示例: | |
8 | lag(input[, offset[, default]]), |
---|
函数说明:返回偏移前面的值。返回窗口中当前行之前的第二行的输入值。偏移量的默认值为1,默认值为null。如果offseth行的input值为null,则返回null。如果没有这样的偏移行(例如,当偏移为1时,窗口的第一行没有任何前一行),则返回默认值。 |
函数说明:返回偏移前面的值。返回窗口中当前行之前的第二行的输入值。偏移量的默认值为1,默认值为null。如果offseth行的input值为null,则返回null。如果没有这样的偏移行(例如,当偏移为1时,窗口的第一行没有任何前一行),则返回默认值。
示例:
示例: ①使用方式:LAG(A) OVER (PARTITION BY <B> ORDER BY <A> ②语句:SELECT `CustomerID` as `客户名称`,`OrderDate` as `订单日期`,Lag(`OrderDate` ) OVER (PARTITION BY |
`CustomerID` ORDER BY |
`OrderDate` ) |
AS `上次订单日期` FROM orders ; ③说明:通过使用Lag函数和PARTITION BY子句,我们可以按照客户ID对订单进行分组,并计算每个分组中上一个订单的日期。这样我们可以轻松地找到每个客户上一个订单的日期。 | ||
9 | lead(input[, offset[, default]]), | 函数说明:返回窗口中当前行之后第二行的输入值。偏移量的默认值为1,默认值为null。如果offseth行的input值为null,则返回null。如果没有这样的偏移行(例如,当偏移为1时,窗口的最后一行没有任何后续行),则返回默认值。 ①使用方式:LEAD(A) OVER (PARTITION BY <B> ORDER BY <A> ②语句:SELECT `EmployeeID` , `DepartmentID` , `Salary` ,Lead(`Salary` ) OVER (PARTITION BY `DepartmentID` ORDER BY `Salary` ) AS NextSalary FROM Employees; ; ③说明:通过使用Lead函数和PARTITION BY子句,我们可以按照部门ID对员工进行分组,并计算每个分组中下一个员工的薪水。这样我们可以轻松地找到每个部门中下一个员工的薪水。 |
---|---|---|
10 | substring(str, pos[, len]),substr | 函数说明:返回str从pos开始、长度为len的子字符串,或字节数组从pos结束、长度为len的切片。 示例: |
11 | 函数说明:返回子字符串的索引 示例: |
---|
12 | 函数说明:拆分字符串 示例: |
---|
5、字符串替换
函数 | 描述 | |
---|---|---|
1 | regexp_extract | 提取与正则表达式匹配的内容 |
2 | regex_replace | 替换匹配正则表达式的内容 |
3 | replace | 替换字符串的所有实例 |
4 | translate | 替换字符串中的值 |
...