replace:字符串替换
速查结论
replace(str, search[, replace]) 是 Spark SQL 中用于将字符串中所有匹配的子串替换为指定内容的函数。
语法
replace(str, search[, replace])
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| str | STRING | 源字符串表达式 |
| search | STRING | 要搜索并替换的子字符串。如果在 str 中未找到 search,str 将原样返回 |
| replace | STRING | 可选。用于替换的字符串表达式。如果未指定或是空字符串,则从 str 中移除 search 而不替换为任何内容 |
示例
> SELECT replace('ABCabc', 'abc', 'DEF');
ABCDEF
常见报错与避坑指南
- 大小写敏感:
replace是大小写敏感的。例如replace('ABCabc', 'abc', 'DEF')只会替换小写的abc,不会替换大写的ABC。如需忽略大小写,请使用regexp_replace配合(?i)标志。 - replace 参数为空字符串:当 replace 参数为空字符串
''时,函数会删除所有匹配的 search,相当于将 search 替换为空。这与不传 replace 参数的行为相同。 - 无匹配时返回原字符串:如果 search 在 str 中未找到,函数返回原字符串 str,不会报错也不会返回 NULL。
Since: 2.3.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
