在 MySQL 中拆分字符串

Preet Sanghavi 2022年5月13日
在 MySQL 中拆分字符串

本教程将介绍如何在 MySQL 数据库中拆分字符串。

首先,我们使用 SUBSTRING_INDEX() 函数来拆分字符串。它是一个预定义的函数,用户在 MySQL 中使用之前不必定义它。

这个函数帮助我们将字符串分成可以用来提取重要信息的段。

这个函数的语法可以理解如下。

SUBSTRING_INDEX(expr, delimiter, counter);

这种方法需要我们给出三个值,如上所示。它们是 expr 也称为表达式,delimiter 告诉方法停止执行,counter 表示分隔符的出现计数。下面介绍如何传递 3 个参数。

  • 首要要求将是正在考虑的输入字符串。我们可以在这里传递字符串或数据库中特定表的列名。这在上述语法中由 expr 表示。
  • 下一个要求是告诉函数何时停止执行的 delimiter
  • 在这里,我们可以传递一个数字。这个数字代表特定 delimiter 的出现。

让我们看一个实际的 SUBSTRING_INDEX() 示例。

假设你有一个地址字符串为 Satra Park, X-10202 \n Borivali West, Mumbai

让我们的目标是根据换行关键字的出现来分离上述字符串,也写为\n

我们可以使用以下查询来实现这一点。

SELECT 
  SUBSTRING_INDEX("Satra Park, X-10202 \n Borivali West, Mumbai", '\n', 1) 
    AS address_one,
  SUBSTRING_INDEX("Satra Park, X-10202 \n Borivali West, Mumbai", '\n', -1) 
    AS address_two;

上面提到的查询将为我们提供以下输出。

address_one					address_two
Satra Park, X-10202         Borivali West, Mumbai

SUBSTRING_INDEX() 函数遍历输入字符串中的 delimiter 字符,然后根据作为最后一个要求传递的分隔符的外观得出一个字符串。

因此,借助 SUBSTRING_INDEX() 函数,我们可以在 MySQL 中拆分字符串。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相关文章 - MySQL String