mysql中SUBSTRING

MySQL中的SUBSTRING_INDEX函数用于从字符串中提取子字符串,其用法如下:

SUBSTRING_INDEX(str, delim, count)

参数说明:

  • str:要提取子字符串的原始字符串。
  • delim:分隔符,用于确定子字符串的位置。
  • count:指定要返回的子字符串的数量。如果为正数,则从字符串的起始位置开始计数;如果为负数,则从字符串的末尾开始计数。

    下面是SUBSTRING_INDEX函数的一些示例:

    1. 返回第一个子字符串:
    SELECT SUBSTRING_INDEX('www.example.com', '.', 1);
    -- 输出结果为 'www'
    

    在这个例子中,'.'是分隔符,1表示返回第一个子字符串。

    1. 返回最后一个子字符串:
    SELECT SUBSTRING_INDEX('www.example.com', '.', -1);
    -- 输出结果为 'com'
    

    在这个例子中,使用-1表示返回最后一个子字符串。

    1. 返回前两个子字符串:
    SELECT SUBSTRING_INDEX('www.example.com', '.', 2);
    -- 输出结果为 'www.example'
    

    在这个例子中,使用2表示返回前两个子字符串。

    1. 使用不存在的分隔符:
    SELECT SUBSTRING_INDEX('www.example.com', 'foo', 1);
    -- 输出结果为 'www.example.com'
    

    在这个例子中,分隔符’foo’在字符串中不存在,因此返回原始字符串。

    需要注意的是,如果指定的分隔符在字符串中不存在,或者出现次数超过实际分隔符的出现次数,SUBSTRING_INDEX函数将返回整个原始字符串。此外,如果指定的分隔符是空字符串(“”),则将返回整个字符串的副本。