目录

1.substring()的语法和用法实例

(1)两个参数的语法和用法实例

①语法:substring(string ,index)|substring(string from index)

②用法实例:

从指定字符串的某序数开始获取字符

(2)三个参数的语法和用法实例

①语法:substring(string ,index,len)|substring(string from index for len)

②用法实例

从指定字符串的某个位置开始获取指定长度的字符

2.substring_index()与substring()函数的区别


1.substring()的语法和用法实例

substring()有两种语法形式,一种是两个参数获取从某个序号开始的值,另一种是三个参数获取指定位置和个数的字符串。

(1)两个参数的语法和用法实例

①语法:substring(string ,index)|substring(string from index)

即substring(被截取的字符串 , 开始位置序号)|substring(被截取的字符串 from开始位置序号)

参数说明

string:必需,被截取的字符串,表示需要从该字符串截取目标字符。

index:必需,开始截取的位置,为整数。当index为0时返回的是空值;当index为正数表示从左到右数的位置序数;当index为负数表示从右到左的位置序数。

②用法实例:

从指定字符串的某序数开始获取字符

例:从“hello world”中截取“world”字符串。

当序数为正数时,则开始字符“w”位置为7,注意的是“hello”和“world”之间的空字符是算一个字符。

#index为正数select substring('hello world',7)  或select substring('hello world'from 7)

当序数为负数时,则开始字符“w”位置为-5。

#index为负数select substring('hello world',-5)  或select substring('hello world' from -5)

(2)三个参数的语法和用法实例

①语法:substring(string ,index,len)|substring(string from index for len)

即substring(被截取字符串 ,开始位置,长度)|substring(被截取字符串 from 开始位置for长度)

参数说明

string:必需,被截取的字符串,表示需要从该字符串截取目标字符。

index:必需,开始截取的位置,为整数。当index为0时返回的是空值;当index为正数表示从左到右数的位置序数;当index为负数表示从右到左的位置序数。

len:必需,表示截取字符串的长度。

②用法实例

从指定字符串的某个位置开始获取指定长度的字符

例:从“My name is LiMing”截取“Li”字符串。由于“Li”在长串字符串中居于尾部,因此选择负数序数更便捷,则“L”的位置为-6。

#index为负数select substring('My name is LiMing',-6,2)或select substring('My name is LiMing' from -6 for 2)

2.substring_index()与substring()函数的区别

(1)substring_index()只有一种语法形式;substring()有两种语法形式。

(2)substring_index()获取的是以某分隔符分割的某串字符,若字符串中无分隔符只能获取全字符串或者空值;而substring()可以获取指定位置指定长度字符。


参考文章:MySQL substring()函数 – MySQL教程™ (yiibai.com)

MYSQL另一种截取目标字符的函数用法可参考SQL的substring_index()用法——MySQL字符串截取_小白修炼晋级中的博客-CSDN博客