更新时间:2023-11-03 GMT+08:00

trim

trim函数用于从str的左右两端去除字符:

  • 如果未指定trimChars,则默认去除空格字符。
  • 如果指定了trimChars,则以trimChars中包含的字符作为一个集合,从str的左右两端去除尽可能长的所有字符都在集合trimChars中的子串。

相似函数:

  • ltrim,ltrim函数用于从str的左端去除字符。
  • rtrim,rtrim函数用于从str的右端去除字符。

命令格式

trim([<trimChars>,]string <str>)

trim([BOTH] [<trimChars>] from <str>)

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

str

STRING

待去除左右两端字符的字符串。

如果输入为BIGINT、DECIMAL、DOUBLE或DATETIME类型,则会隐式转换为STRING类型后参与运算。

trimChars

STRING

待去除的字符。

返回值说明

返回为STRING类型的值。

  • str非STRING、BIGINT、DOUBLE、DECIMAL或DATETIME类型时,返回报错。
  • str或trimChars值为NULL时,返回NULL。

示例代码

  • 去除字符串 yxabcxx 的左右空格。命令示例如下。

    返回字符串yxabcxx。

    select trim(' yxabcxx '); 

    等效于如下语句。

    select trim(both from ' yxabcxx '); 
    select trim(from ' yxabcxx ');
  • 去除字符串yxabcxx左右两端所有字符都在集合xy中的子串。

    返回Txyom,只要左右两端遇到x或者y就会被去掉。

    select trim('xy', 'yxabcxx'); 

    等效于如下语句。

    select trim(both 'xy' from 'yxabcxx'); 
  • 输入参数为NULL。命令示例如下。

    返回NULL。

    select trim(null); 
    select trim(null, 'yxabcxx');