當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


MySQL POSITION()用法及代碼示例

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

相關用法


注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 POSITION() function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。