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>
示例
- 基本用法:字符不存在时添加
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('a', 'c');
+------------------------------------------+
| append_trailing_char_if_absent('a', 'c') |
+------------------------------------------+
| ac |
+------------------------------------------+
- 字符已存在时不添加
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('ac', 'c');
+-------------------------------------------+
| append_trailing_char_if_absent('ac', 'c') |
+-------------------------------------------+
| ac |
+-------------------------------------------+
- 空字符串处理
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('', '/');
+------------------------------------------+
| append_trailing_char_if_absent('', '/') |
+------------------------------------------+
| / |
+------------------------------------------+
- NULL 值处理
SELECT APPEND_TRAILING_CHAR_IF_ABSENT(NULL, 'c');
+-------------------------------------------+
| append_trailing_char_if_absent(NULL, 'c') |
+-------------------------------------------+
| NULL |
+-------------------------------------------+
- utf-8 字符
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ');
+----------------------------------------------+
| APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ') |
+----------------------------------------------+
| acfṛ |
+----------------------------------------------+