跳到主要内容

APPEND_TRAILING_CHAR_IF_ABSENT

描述

APPEND_TRAILING_CHAR_IF_ABSENT 函数用于确保字符串以指定字符结尾。如果字符串末尾不存在该字符,则添加;如果已存在,则保持不变。

语法

APPEND_TRAILING_CHAR_IF_ABSENT(<str>, <trailing_char>)

参数

参数说明
<str>需要处理的目标字符串。类型:VARCHAR
<trailing_char>需要确保出现在字符串末尾的字符。类型:VARCHAR

返回值

返回 VARCHAR 类型:

  • 如果 <str> 末尾不存在 <trailing_char>,返回 <str><trailing_char> 拼接后的字符串
  • 如果 <str> 末尾已存在 <trailing_char>,返回原始 <str>

特殊情况:

  • 如果任意参数为 NULL,返回 NULL
  • 如果 <str> 为空字符串,返回 <trailing_char>

示例

  1. 基本用法:字符不存在时添加
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('a', 'c');
+------------------------------------------+
| append_trailing_char_if_absent('a', 'c') |
+------------------------------------------+
| ac |
+------------------------------------------+
  1. 字符已存在时不添加
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('ac', 'c');
+-------------------------------------------+
| append_trailing_char_if_absent('ac', 'c') |
+-------------------------------------------+
| ac |
+-------------------------------------------+
  1. 空字符串处理
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('', '/');
+------------------------------------------+
| append_trailing_char_if_absent('', '/') |
+------------------------------------------+
| / |
+------------------------------------------+
  1. NULL 值处理
SELECT APPEND_TRAILING_CHAR_IF_ABSENT(NULL, 'c');
+-------------------------------------------+
| append_trailing_char_if_absent(NULL, 'c') |
+-------------------------------------------+
| NULL |
+-------------------------------------------+
  1. utf-8 字符
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ');
+----------------------------------------------+
| APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ') |
+----------------------------------------------+
| acfṛ |
+----------------------------------------------+