MySQL SUBSTRING_INDEX 函数

MySQL SUBSTRING_INDEX 是一个字符串函数,用于从给定的字符串中返回分隔符出现次数之前(或之后,取决于计数方向)的子字符串。让我通过一个示例向您展示如何使用此 Substring_Index 函数。字符串 SUBSTRING_INDEX 的基本语法如下所示。

SUBSTRING_INDEX(String_Expression, Delimiter, Count)

SUBSTRING_INDEX 函数计算分隔符的出现次数。一旦找到它,它就会返回从起始位置到该分隔符之前(或之后)位置的子字符串。

MySQL SUBSTRING_INDEX 函数示例

以下查询显示了使用此 Substring_Index 函数的多种方法。在下面的语句中,我们使用“.”作为分隔符,出现次数为 1。一旦找到第一个“.”,它就会返回到“.”为止的子字符串。

接下来,我们将出现次数用作 2。这意味着它查找“.”的第二次出现,并返回到该“.”位置的子字符串。

SELECT SUBSTRING_INDEX('www.tutorialgateway.org', '.', 1);

SELECT SUBSTRING_INDEX('www.tutorialgateway.org', '.', 2);

SELECT SUBSTRING_INDEX('www.tutorial.gateway.org', '.', 2);
SUBSTRING_INDEX Example 1

在此 字符串函数 示例中,我们将负数用作计数参数。这意味着此 MySQL 函数从右向左计算分隔符的出现次数。

首先,我们使用了 -1。这意味着 MySQL SUBSTRING_INDEX 函数从“g”开始查找,一旦找到第一次出现(在“org”之后),它就开始写入子字符串。

SELECT SUBSTRING_INDEX('www.tutorial.gateway.org', '.', -1);

SELECT SUBSTRING_INDEX('www.tutorial.gateway.org', '.', -2);

SELECT SUBSTRING_INDEX('www.tutorial.gateway.org', '.', -3);

在这里,我们使用空格作为分隔符。

SELECT SUBSTRING_INDEX('Hi MySQL tutorial gateway', ' ', 2);

SELECT SUBSTRING_INDEX('Hi MySQL tutorial gateway', ' ', 3);

SELECT SUBSTRING_INDEX('Hi MySQL tutorial gateway', ' ', -3);

SUBSTRING_INDEX 示例 2

字符串 SUBSTRING_INDEX 函数还允许您处理列值。在此示例中,我们将此 substring index 函数用于英文产品名称。

SELECT EnglishProductName, 
       SUBSTRING_INDEX(EnglishProductName, ' ', 2) AS 'ENG',
       SUBSTRING_INDEX(EnglishProductName, '-', 1) AS 'ENG 2',
       Color,
       StandardCost,
       SalesAmount,
       TaxAmt
  FROM `mathemetical functions`;
SUBSTRING_INDEX Function 4