📜  MySQL 中的 MID()函数

📅  最后修改于: 2022-05-13 01:54:48.802000             🧑  作者: Mango

MySQL 中的 MID()函数

中() :

这个 MySQL 中的函数用于从给定的输入字符串中提取子字符串。如果起始位置为正数,则将从起始索引中提取给定长度的子串。如果为负,则将从结束索引中提取给定长度的子字符串。

句法 :

MID(str,pos,len)

参数 :

该函数接受 3 个参数。

  • 字符串 –
    我们要从中提取子字符串的字符串。
  • 位置 –
    它指示在输入字符串中开始提取的位置。
  • 连——
    它表示我们要提取的字符串的长度。

回报:
它从给定的输入字符串中提取子字符串。

示例-1:

借助从位置 1 开始的 MID函数,从字符串'geeksforgeeks' 中提取长度为 5 的字符串。

SELECT MID('geeksforgeeks', 1, 5) As SUBSTRING;

输出 :

SUBSTRING
geeks

示例 2 :

借助从 pos -3 开始的 MID函数,从字符串“Learning MySQL is fun”中提取长度为 3 的字符串。

SELECT MID('Learning MySQL is fun', -3, 3) As SUBSTRING;

输出 :

SUBSTRING
fun

示例 3 :

MID函数也可用于列数据。

创建学生表 -

CREATE TABLE StudentDetails
(
Student_id INT AUTO_INCREMENT,  
Student_name VARCHAR(100) NOT NULL,
Roll INT NOT NULL,
Department VARCHAR(10) NOT NULL,
PRIMARY KEY(Student_id )
);

将值插入表中 -

INSERT INTO StudentDetails
(Student_name ,Roll, Department )
VALUES
('Anik Biswas ',10100,'CSE'),
('Bina Mallick', 11000,'ECE' ),
('Niket Sharma', 12000,'IT' ),
('Sayan Samanta',13000, 'ME'  ),
('Riya Shah ', 14000,'EE' ),  
('Bipin Kohli', 15000,'CE' );

该表将如下所示。

SELECT  * from StudentDetails;
STUDENT_IDSTUDENT_NAMEROLLDEPARTMENT
1Anik Biswas10100CSE
2Bina Mallick11000ECE
3Niket Sharma12000IT
4Sayan Samanta13000ME
5Riya Shah 14000EE
6Bipin Kohli15000CE

现在,我们将在 Student_name 列上使用 MID函数来查找每个学生的名字。

SELECT Student_id , MID(Student_name,1,5 ) AS First_Name,
Student_name ,Roll,Department FROM StudentDetails;

输出 :

STUDENT_IDFIRST_NAMESTUDENT_NAMEROLLDEPARTMENT
1AnikAnik Biswas10100CSE
2BinaBina Mallick11000ECE
3Niket Niket Sharma12000IT
4SayanSayan Samanta13000ME
5RiyaRiya Shah 14000EE
6BipinBipin Kohli15000CE