MySQL SUBSTRING函数
简介:在本教程中,我们将向您介绍MySQL SUBSTRING函数,该函数从字符串中提取子字符串。
SUBSTRING函数从指定位置开始的字符串返回给定长度的子字符串。
MySQL提供了各种形式的子字符串函数。
在以下各节中,我们将检查SUBSTRING函数的每种形式。
带位置参数的MySQL SUBSTRING
下面说明了SUBSTRING函数的第一种形式。
SUBSTRING(string,position); SUBSTRING(string FROM position);
有两个参数:
字符串参数是您提取子字符串的字符串。
position参数是一个整数,它指定子字符串的起始字符。
该位置可以是正整数或负整数。
如果位置为正,则SUBSTRING函数从字符串的开头提取子字符串。
请参阅以下字符串。
例如,要从" MySQL SUBSTRING"字符串中获取" SUBSTRING",子字符串的位置必须为7,如以下SELECT语句所示:
SELECT SUBSTRING('MYSQL SUBSTRING', 7);
如果位置为负,则SUBSTRING函数从字符串的末尾提取子字符串。
请参见以下" MYSQL SUBSTRING"字符串:
要使用负数从" MySQL SUBSTRING"中获取" SUBSTRING",必须将-10传递给position参数,如下所示:
SELECT SUBSTRING('MySQL SUBSTRING',-10);
请注意,如果位置为零,则SUBSTRING函数将返回一个空字符串:
SELECT SUBSTRING('MYSQL SUBSTRING', 0);
除了特定于MySQL的语法外,您还可以将SQL标准语法与FROM关键字一起使用,以调用SUBSTRING函数。
例如,以下语句使用SQL标准语法从MySQL SUBSTRING字符串获取SUBSTRING:
SELECT SUBSTRING('MySQL SUBSTRING' FROM -10);
MySQL SUBSTRING的位置和长度
如果要指定要从字符串中提取的子字符串的长度,则可以使用以下形式的SUBSTRING函数:
SUBSTRING(string,position,length);
以下是上述语句的SQL标准版本,它更长,但更具表达性。
SUBSTRING(string FROM position FOR length);
除了字符串和位置参数外,SUBSTRING函数还有一个额外的长度参数。
长度是一个正整数,它指定子字符串的字符数。
如果位置和长度的总和大于字符串的字符数,则SUBSTRING函数将返回一个从字符串位置到字符串结尾的子字符串。
例如,要从" MySQL SUBSTRING"中获取" MySQL",可以使用以下语句:
SELECT SUBSTRING('MySQL SUBSTRING',1,5);
要么
SELECT SUBSTRING('MySQL SUBSTRING' FROM 1 FOR 5);
如果要使用负数,请使用以下语句:
SELECT SUBSTRING('MySQL SUBSTRING',-15,5);
或使用FROM FOR语法:
SELECT SUBSTRING('MySQL SUBSTRING' FROM -15 FOR 5);
SUBSTR()是SUBSTRING()的同义词,因此您可以互换使用它们。
在本教程中,您学习了SUBSTRING函数,该函数从特定位置开始的字符串中提取具有给定长度的子字符串。