# Replace

# 函数简介

本函数用于将文本中的子串替换为指定的字符串。

函数名: REPLACE

输入序列: 仅支持单个输入序列,类型为 TEXT。

参数:

  • target: 需要替换的字符子串
  • replace: 替换后的字符串。
  • limit: 替换次数,大于等于-1的整数,默认为-1表示所有匹配的子串都会被替换。
  • offset: 需要跳过的匹配次数,即前offset次匹配到的字符子串并不会被替换,默认为0。
  • reverse: 是否需要反向计数,默认为false即按照从左向右的次序。

输出序列: 输出单个序列,类型为TEXT。

# 使用示例

输入序列:

+-----------------------------+---------------+
|                         Time|root.test.d1.s1|
+-----------------------------+---------------+
|2021-01-01T00:00:01.000+08:00|      A,B,A+,B-|
|2021-01-01T00:00:02.000+08:00|      A,A+,A,B+|
|2021-01-01T00:00:03.000+08:00|         B+,B,B|
|2021-01-01T00:00:04.000+08:00|      A+,A,A+,A|
|2021-01-01T00:00:05.000+08:00|       A,B-,B,B|
+-----------------------------+---------------+

用于查询的SQL语句:

select replace(s1, "target"=",", "replace"="/", "limit"="2") from root.test.d1

输出序列:

+-----------------------------+------------------------------------------------------------------+
|                         Time|replace(root.test.d1.s1, "target"=",", "replace"="/", "limit"="2")|
+-----------------------------+------------------------------------------------------------------+
|2021-01-01T00:00:01.000+08:00|                                                         A/B/A+,B-|
|2021-01-01T00:00:02.000+08:00|                                                         A/A+/A,B+|
|2021-01-01T00:00:03.000+08:00|                                                            B+/B/B|
|2021-01-01T00:00:04.000+08:00|                                                         A+/A/A+,A|
|2021-01-01T00:00:05.000+08:00|                                                          A/B-/B,B|
+-----------------------------+------------------------------------------------------------------+

另一个用于查询的SQL语句:

select replace(s1, "target"=",", "replace"="/", "limit"="1", "offset"="1", "reverse"="true") from root.test.d1

输出序列:

+-----------------------------+------------------------------------------------------+
|                         Time|replace(root.test.d1.s1, "target"=",", "replace"="|", | 
|                             |        "limit"="1", "offset"="1", "reverse"="true")  |
+-----------------------------+------------------------------------------------------+
|2021-01-01T00:00:01.000+08:00|                                             A,B/A+,B-|
|2021-01-01T00:00:02.000+08:00|                                             A,A+/A,B+|
|2021-01-01T00:00:03.000+08:00|                                                B+/B,B|
|2021-01-01T00:00:04.000+08:00|                                             A+,A/A+,A|
|2021-01-01T00:00:05.000+08:00|                                              A,B-/B,B|
+-----------------------------+------------------------------------------------------+