MariaDB TRIM_ORACLE() 函数使用指南

在 MariaDB 中,TRIM_ORACLE() 是一个内置的字符串函数,它用于从指定字符串的开头或结尾删除由指定字符组成的最长字符串。

TRIM_ORACLE() 函数是 Oracle 模式下的 TRIM() 函数的同义词。

如果您只想删除字符串的前导空格,请使用 LTRIM()LTRIM_ORACLE() 函数。

如果您只想删除字符串的尾随空格,请使用 RTRIM()RTRIM_ORACLE() 函数。

MariaDB TRIM_ORACLE() 语法

这里是 MariaDB TRIM_ORACLE() 函数的几种不同的用法:

TRIM_ORACLE(str)
TRIM_ORACLE(remove_str FROM str)
TRIM_ORACLE({BOTH | LEADING | TRAILING} remove_str FROM str)

这里:

  • BOTH 代表同时删除前导和尾随的字符
  • LEADING 代表只删除前导字符
  • TRAILING 代表只删除尾随的字符
  • 如果不指定 {BOTH | LEADING | TRAILING},则默认值为 BOTH

参数

str
必需的。需要处理的字符串。
remove_str
可选的。需要删除的前缀和后缀字符串。如果不指定这个 remove_str,则默认值为空格。

返回值

MariaDB TRIM_ORACLE() 函数返回一个字符串,它从指定字符串的开头或结尾删除了由指定字符组成的最长字符串。

如果结果为一个空字符串, TRIM_ORACLE() 函数将返回一个 NULL 值。

当参数为 NULL 时, TRIM_ORACLE() 函数将返回 NULL

MariaDB TRIM_ORACLE() 示例

删除两端空白

下面的语句展示了使用 MariaDB TRIM_ORACLE() 函数删除字符串两端的空白 2 种用法:

SELECT
  TRIM_ORACLE('   Hello   '),
  TRIM_ORACLE(BOTH FROM '   Hello   ');

输出:

+----------------------------+--------------------------------------+
| TRIM_ORACLE('   Hello   ') | TRIM_ORACLE(BOTH FROM '   Hello   ') |
+----------------------------+--------------------------------------+
| Hello                      | Hello                                |
+----------------------------+--------------------------------------+

删除前导空白

下面的语句展示了如何使用 MariaDB TRIM_ORACLE() 函数删除字符串前导空白:

SELECT TRIM_ORACLE(LEADING FROM '   Hello   ');

输出:

+-----------------------------------------+
| TRIM_ORACLE(LEADING FROM '   Hello   ') |
+-----------------------------------------+
| Hello                                   |
+-----------------------------------------+

删除结尾空白

下面的语句展示了如何使用 MariaDB TRIM_ORACLE() 函数删除字符串结尾空白:

SELECT TRIM_ORACLE(TRAILING FROM '   Hello   ');

输出:

+------------------------------------------+
| TRIM_ORACLE(TRAILING FROM '   Hello   ') |
+------------------------------------------+
|    Hello                                 |
+------------------------------------------+

删除其他字符

下面的语句展示了如何使用 MariaDB TRIM_ORACLE() 函数删除字符串开头或者结尾的指定字符:

SELECT
  TRIM_ORACLE('_' FROM '___Hello___'),
  TRIM_ORACLE(BOTH '_' FROM '___Hello___'),
  TRIM_ORACLE(LEADING '_' FROM '___Hello___'),
  TRIM_ORACLE(TRAILING '_' FROM '___Hello___'),
  TRIM_ORACLE('_#' FROM '_#_#_Hello_#_#'),
  TRIM_ORACLE(BOTH '_#' FROM '_#_#_Hello_#_#'),
  TRIM_ORACLE(LEADING '_#' FROM '_#_#_Hello_#_#'),
  TRIM_ORACLE(TRAILING '_#' FROM '_#_#_Hello_#_#')\G

输出:

*************************** 1. row ***************************
             TRIM_ORACLE('_' FROM '___Hello___'): Hello
        TRIM_ORACLE(BOTH '_' FROM '___Hello___'): Hello
     TRIM_ORACLE(LEADING '_' FROM '___Hello___'): Hello___
    TRIM_ORACLE(TRAILING '_' FROM '___Hello___'): ___Hello
         TRIM_ORACLE('_#' FROM '_#_#_Hello_#_#'): _Hello
    TRIM_ORACLE(BOTH '_#' FROM '_#_#_Hello_#_#'): _Hello
 TRIM_ORACLE(LEADING '_#' FROM '_#_#_Hello_#_#'): _Hello_#_#
TRIM_ORACLE(TRAILING '_#' FROM '_#_#_Hello_#_#'): _#_#_Hello

空字符串

如果 TRIM_ORACLE() 返回的字符串为空, 那么它将返回 NULL

SELECT TRIM_ORACLE('   ');

输出:

+--------------------+
| TRIM_ORACLE('   ') |
+--------------------+
| NULL               |
+--------------------+

这表现的与 Oracle 模式下的 TRIM() 函数完全一样。

结论

在 MariaDB 中,TRIM_ORACLE() 是一个内置的字符串函数,它用于从指定字符串的开头或结尾删除由指定字符组成的最长字符串。它是 Oracle 模式下的 TRIM() 函数的同义词。