SelectDB Enterprise
参考手册
SQL 函数
标量函数
字符串函数
REPLACE_EMPTY

REPLACE_EMPTY

描述

REPLACE_EMPTY 函数用于将字符串中的一部分字符替换为其他字符。和 REPLACE 函数不同的是,当 old 为空字符串时,会将 new 字符串插入到 str 字符串的每个字符前,以及 str 字符串的最后。

除此之外,其他行为和 REPLACE() 函数完全一致。

该函数主要用于兼容 Presto、Trino,其行为了 Presto、Trino 中的 REPLACE() 函数完全一致。

自 2.1.5 版本支持。

语法

REPLACE_EMPTY ( <str>, <old>, <new> )

参数

参数说明
<str>需要被替换的字符串
<old>需要被替换掉的子字符串,如果<old>不在<str>中,则不会进行替换,如果 <old> 为空字符串时,会将 <new> 字符串插入到 <str> 字符串的每个字符前
<new>用于替换 <old> 的新子字符串

返回值

返回替换掉子字符串后的新字符串。特殊情况:

  • 任意参数中有一个为 NULL,则返回 NULL
  • 如果 old 为空字符串时,则返回将 new 字符串插入到 str 字符串的每个字符前的字符串

举例

SELECT replace('hello world', 'world', 'universe');
+---------------------------------------------+
| replace('hello world', 'world', 'universe') |
+---------------------------------------------+
| hello universe                              |
+---------------------------------------------+
SELECT replace_empty("abc", '', 'xyz');
+---------------------------------+
| replace_empty('abc', '', 'xyz') |
+---------------------------------+
| xyzaxyzbxyzcxyz                 |
+---------------------------------+
SELECT replace_empty("", "", "xyz");
+------------------------------+
| replace_empty('', '', 'xyz') |
+------------------------------+
| xyz                          |
+------------------------------+
© 2025 北京飞轮数据科技有限公司 京ICP备2022004029号 | Apache、Apache Doris 以及相关开源项目名称均为 Apache 基金会商标