跳到主要内容

TRIM

描述

TRIM 函数用于删除字符串两端的空格或指定字符。如果不指定删除字符,默认删除空格。

语法

TRIM(<str>[, <rhs>])

参数

参数说明
<str>需要处理的原字符串。类型:VARCHAR
<rhs>可选参数,指定要删除的字符。类型:VARCHAR

返回值

返回 VARCHAR 类型,为删除两端指定字符后的字符串。

特殊情况:

  • 如果不指定 <rhs>,默认删除两端的空格
  • 如果指定 <rhs>,删除两端连续出现的该字符
  • 只删除字符串两端的字符,不影响中间部分
  • 如果任意参数为 NULL,返回 NULL

示例

  1. 基本用法:删除空格
SELECT trim('   hello   ');
+---------------------+
| trim(' hello ') |
+---------------------+
| hello |
+---------------------+
  1. 删除指定字符
SELECT trim('xxxhelloxxx', 'x');
+------------------------------+
| trim('xxxhelloxxx', 'x') |
+------------------------------+
| hello |
+------------------------------+
  1. 中间的字符不受影响
SELECT trim('   ab d   ');
+--------------------+
| trim(' ab d ') |
+--------------------+
| ab d |
+--------------------+
  1. 删除多字符模式
SELECT trim('ababccaab', 'ab');
+-------------------------+
| trim('ababccaab', 'ab') |
+-------------------------+
| cca |
+-------------------------+
  1. UTF-8 特殊字符支持
SELECT trim('ṭṛì ḍḍumai+++', 'ṭṛì');
+--------------------------------------------+
| trim('ṭṛì ḍḍumai+++', 'ṭṛì') |
+--------------------------------------------+
| ḍḍumai+++ |
+--------------------------------------------+
  1. 输入 NULL
SELECT trim(NULL);
+------------+
| trim(NULL) |
+------------+
| NULL |
+------------+
  1. 空字符
SELECT trim('xxxhelloxxx', ''),trim('', 'x');;
+-------------------------+---------------+
| trim('xxxhelloxxx', '') | trim('', 'x') |
+-------------------------+---------------+
| xxxhelloxxx | |
+-------------------------+---------------+

Keywords

TRIM