📜  MySQL 中的 POSITION()函数

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

MySQL 中的 POSITION()函数

位置() :

MySQL 中的此函数用于查找字符串中子字符串的位置。它将返回子字符串在字符串中第一次出现的位置。如果字符串中不存在子字符串,则它将返回 0。当在字符串中搜索子字符串的位置时,该函数不执行区分大小写的搜索。

句法 :

POSITION(substring IN string)

参数 :

该方法接受两个参数

  • substring –要检索其位置的字符串。
  • 字符串 –要在其中检索子字符串位置的字符串。

回报:

子字符串在字符串中第一次出现的位置。

示例-1:

在 POSITION函数的帮助下搜索字符串'g',如下所示。

SELECT POSITION('g' IN 'geeksforgeeks') AS location;

输出 :

LOCATION
1

示例 2 :

在 POSITION函数的帮助下,在字符串'That is a tree' 中搜索字符串 'this',如下所示。

SELECT POSITION('this' IN 'That is a tree') AS location;

输出 :

LOCATION
0

示例 3 :

POSITION函数也可用于列数据,如下所示。

创建学生表:

CREATE TABLE Student
(
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 Student
(Student_name ,Roll, Department )
VALUES
('Anik Biswas ',10100,'CSE'),
('Bina Mallick', 11000,'ECE' ),
('Niket Sharma', 12000,'IT' ),
('Sayani Samanta',13000, 'ME'  ),
('Riyanka Shah ', 14000,'EE' ), 
('Bipin Kohli', 15000,'CE' );

要验证使用以下命令如下。

SELECT  * from Student ;

输出 :

STUDENT_IDSTUDENT_NAMEROLLDEPARTMENT
1Anik Biswas10100CSE
2Bina Mallick11000ECE
3Aniket Sharma12000IT
4Sayani Samanta13000ME
5Riyanka Shah 14000EE
6Bipin Kohli15000CE

现在我们要为每个学生的名字找到第一次出现的字符串“a”。

SELECT *,POSITION('a' IN Student_name ) AS First_Occ_A  
FROM STUDENT;

输出 :

STUDENT_IDSTUDENT_NAMEROLLDEPARTMENTFIRST_OCC_A
1Anik Biswas10100CSE1
2Bina Mallick11000ECE4
3Aniket Sharma12000IT9
4Sayani Samanta13000ME2
5Riyanka Shah 14000EE4
6Bipin Kohli15000CE0