Spark 字符函数详解

本章节主要介绍 Spark SQL 中常用的字符函数,用于处理字符串数据。

1. 大小写转换

  • upper(str): 将字符串 str 中的所有字符转换为大写。

    sql

    SELECT upper('abcde') FROM dual;

    SELECT * FROM emp WHERE upper(ename) = 'SMITH';

  • lower(str): 将字符串 str 中的所有字符转换为小写。

    sql

    SELECT lower('ABCDE') FROM dual;

  • initcap(str): 将字符串 str 中每个单词的首字母转换为大写,其余字母转换为小写。

    sql

    SELECT initcap(ename) FROM emp;

2. 字符串拼接

  • concat(str1, str2, ...): 将多个字符串连接成一个字符串。

    sql

    SELECT concat('a', 'b') FROM dual;

  • ||: 字符串拼接操作符,可以连接两个字符串。

    sql

    SELECT 'a' || 'b' FROM dual;

3. 字符串截取

  • substr(str, pos, len): 从字符串 str 的第 pos 个字符开始截取长度为 len 的子字符串。 sql SELECT substr('abcde', length('abcde') - 2) FROM dual; SELECT substr('abcde', -3, 3) FROM dual;

4. 字符串长度

  • length(str): 返回字符串 str 的长度。 sql SELECT length(ename) FROM emp;

5. 字符串替换

  • replace(str, search, replace): 将字符串 str 中所有出现的子字符串 search 替换为 replacesql SELECT replace(ename, 'a', 'A') FROM emp;