mysql中的locate,MySQL LOCATE()用法及代码示例

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

用法:

LOCATE(substring, string, start)

参数:

此方法接受三个参数。

子串-

要检索其位置的字符串。

字符串-

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

开始-

搜索的起始位置。它是可选的。默认为位置1。

返回值:

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

示例1:借助LOCATE函数在字符串‘geeksforgeeks’中搜索字符串‘f’。

SELECT LOCATE('f', 'geeksforgeeks') AS MatchLocation;

输出:

MATCHLOCATION

6

示例-2:借助LOCATE函数在字符串“学习SQL很有趣”中搜索字符串“ MYSQL”,因此它将返回0。

SELECT LOCATE('MYSQL', 'Learning SQL is fun') AS MatchLocation;

输出:

MATCHLOCATION

0

示例3:从位置3开始,借助LOCATE Function在字符串‘geeksforgeeks’中搜索字符串‘g’。

SELECT LOCATE('g', 'geeksforgeeks', 3) AS MatchLocation;

输出:

MATCHLOCATION

9

示例4:

LOCATE函数也可用于列数据。为了演示,创建一个名为Student的表。

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' ),

('Aniket 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

现在,借助LOCATE函数,我们将在Student_name列中找到字符串‘a’的第一个匹配项。

SELECT *, LOCATE('a', Student_name ) AS FirstOccurrenceOfA

FROM STUDENT;

STUDENT_ID

STUDENT_NAME

ROLL

DEPARTMENT

FirstOccurrenceOfA

1

艾尼克·比斯瓦斯(Anik Biswas)

10100

CSE

1

2

比娜·马利克(Bina Mallick)

11000

ECE

4

3

阿妮克特·沙玛

12000

IT

1

4

萨亚妮·萨曼塔(Sayani Samanta)

13000

ME

2

5

里扬卡·沙(Riyanka Shah)

14000

EE

4

6

比平·科利(Bipin Kohli)

15000

CE

0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值