POSITION():
MySQL中的此函数用于查找字符串中子字符串的位置。它将返回字符串中子字符串首次出现的位置。如果字符串中不存在子字符串,则它将返回0。在字符串中搜索子字符串的位置时,该函数将不执行区分大小写的搜索。
用法:
POSITION(substring IN string)
参数:
该方法接受两个参数
子串-要检索其位置的字符串。
字符串-要在其中检索子字符串位置的字符串。
返回值:
子字符串在字符串中首次出现的位置。
示例1:
借助POSITION功能,在字符串‘geeksforgeeks’中搜索字符串‘g’。
SELECT POSITION('g' IN 'geeksforgeeks') AS location;
输出:
LOCATION
1
实施例-2:
借助POSITION功能,在字符串“那是一棵树”中搜索字符串‘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_ID
STUDENT_NAME
ROLL
DEPARTMENT
1
艾尼克·比斯瓦斯(Anik Biswas)
10100
CSE
2
比娜·马利克(Bina Mallick)
11000
ECE
3
阿妮克特·沙玛
12000
IT
4
萨亚妮·萨曼塔(Sayani Samanta)
13000
ME
5
里扬卡·沙(Riyanka Shah)
14000
EE
6
比平·科利(Bipin Kohli)
15000
CE
现在,我们将为每个学生的姓名找到字符串‘a’的第一个匹配项。
SELECT *,POSITION('a' IN Student_name ) AS First_Occ_A
FROM STUDENT;
输出:
STUDENT_ID
STUDENT_NAME
ROLL
DEPARTMENT
FIRST_OCC_A
1
艾尼克·比斯瓦斯(Anik Biswas)
10100
CSE
1
2
比娜·马利克(Bina Mallick)
11000
ECE
4
3
阿妮克特·沙玛
12000
IT
9
4
萨亚妮·萨曼塔(Sayani Samanta)
13000
ME
2
5
里扬卡·沙(Riyanka Shah)
14000
EE
4
6
比平·科利(Bipin Kohli)
15000
CE
0
更多推荐
MySQL的position值是什么_MySQL POSITION()用法及代码示例
发布评论