跳到主要内容

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 | |
+-------------------------+---------------+
  1. 前后缀不匹配,原样返回
SELECT trim('Hello World', 'xyz');
+----------------------------+
| trim('Hello World', 'xyz') |
+----------------------------+
| Hello World |
+----------------------------+
  1. 重复模式:从两端反复剥除,直到两端都不再以 <rhs> 起止
SELECT trim('abcabcabc', 'abc');
+--------------------------+
| trim('abcabcabc', 'abc') |
+--------------------------+
| |
+--------------------------+
  1. 两端对称剥除:当 <rhs> 同时出现在两端时一次性都去掉,中间保留
SELECT trim('abcHelloabc', 'abc');
+----------------------------+
| trim('abcHelloabc', 'abc') |
+----------------------------+
| Hello |
+----------------------------+

Keywords

TRIM