Mysql有多种内置函数用于不同的目的,其中之一就是substring函数。substring函数处理的是 "字符串 "数据类型,在数据库管理中,它被用来从表中提取字符串。现在,什么是字符串?字符串是各种字符的组合。例如,"Hello LinuxHint "和 "KHG1234 "是字符串。
在这篇文章中,我们将了解什么是子串函数,以及它如何在MySQL中用于管理数据库中的数据。
什么是MySQL子串
MySQL有各种各样的函数来执行不同的任务,同样,Substring是一个在MySQL中用来返回或从任何表中的字符串中提取字符串的函数。一般的语法是这样的。
$ SUBSTRING(string, start, length)
或者
$ SUBSTRING(string FROM start FOR length)
如果我们解释一下这些一般语法中使用的参数,那么它们将是:string是字符的集合,start是指要提取字符串的起点,length是要提取的字符数。为了理解子串的功能,我们以表格为例,使用下面的命令来提取其中的字符串。我们将打开终端,并输入 "mysql "以进入MySQL环境。
$ sudo MySQL

打开数据库的列表,存在于MySQL中。
show DATABASES;

打开数据库,"公司"。
USE company;

现在,我将显示这个数据库中的表。
SHOW TABLES;

在输出中,我们可以看到数据库 "company "只包含一个表,名为 "linuxHint_employees_data"。现在我们将访问这个表以显示其内容。
DESCRIBE linuxHint_employees_data;

现在我们可以显示该表的内容了。
SELECT * FROM linuxHint_employees_data;

我们说,我们想使用substring函数从表中提取字符串 "John",那么我们将根据上面讨论的语法使用代码,我们将使用 "AS ExtractString",所以它从表中返回字符串形式的值。
SELECT SUBSTRING(employee_name, 1, 5) AS ExtractString FROM linuxHint_employees_data;

在这个命令中,我们使用终端从名为employee_name的列中提取一个字符串,从第一个字符开始,并提取接下来的5个字符。为了更好地理解它,让我们假设我们想从名为employee_name的列中提取2个字符,但它是从第三个字符开始的,所以命令将是。
SELECT SUBSTRING(employee_name, 3, 2) AS ExtractString FROM linuxHint_employees_data;
正如我们所知,它将只提取 "hn "和 "ew"。

同时,我们运行下面的命令来提取字符串。
SELECT SUBSTRING(“John”, +3, 2) AS ExtractString;

让我们解释一下上述命令中发生了什么,以及这个输出是怎么来的。我们使用MySQL的这个函数询问终端,该函数从字符串 "John "中返回字符串字符,并从起点的第三个位置开始,+ve符号告诉它从起点开始并提取下两个字符。因此,在字符串 "John "中,如果我们从起点的第三个位置开始,它将从 "h "开始,如果我们提取它旁边的两个字符,它将是 "hn"。这在输出中显示。
现在让我们运行另一条命令,从字符串 "Steward "中提取 "wa",使用的起点是字符串的末尾,因此我们将使用-ve符号,命令将是。
SELECT SUBSTRING(“Steward”, -4, 2) AS ExtractString;

结论
Substring是MySQL的一个函数,用于提取整个字符串或字符串的几个字符。在这篇文章中,我们试图向你解释什么是子串函数以及它的用途。我们还讨论了两种一般的语法,然后通过例子详细解释了这两种语法的使用。希望本篇文章能帮助你理解substring函数,以及如何使用它。