当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL POSITION方法用法及代码示例


MySQL 的 POSITION(~) 方法返回源字符串中子字符串第一次出现的位置。

用法

POSITION(substr IN str);

参数

1. substr | string

我们试图在 str 中查找子字符串。

2. str | string

我们尝试在其中查找子字符串的源字符串。

返回值

案子

返回值

如果substr存在于str

substr 第一次出现的位置

如果substr不存在于str

0

例子

考虑下表有关一些学生的信息:

student_id

名称

名字

day_enrolled

年龄

用户名

1

Sky

Towner

2015-12-03

17

stowner1

2

Ben

Davis

2016-04-20

19

bdavis2

3

Travis

Apple

2018-08-14

18

tapple3

4

Arthur

David

2016-04-01

16

adavid4

5

Benjamin

Town

2014-01-01

17

btown5

可以使用此处的代码创建上述示例表。

基本用法

要查找用户名中第一次出现 'd' 的位置:

SELECT username, POSITION('d' IN username) AS 'Position of d'
FROM students;



+----------+---------------+
| username | Position of d |
+----------+---------------+
| stowner1 |             0 |
| bdavis2  |             2 |
| tapple3  |             0 |
| adavid4  |             2 |
| btown5   |             0 |
+----------+---------------+

请注意,MySQL 中的位置计数从 1 开始,与其他一些从 0 开始的编程语言不同。

区分大小写

搜索不区分大小写:

SELECT username, POSITION('D' IN username) AS 'Position of D'
FROM students;



+----------+---------------+
| username | Position of D |
+----------+---------------+
| stowner1 |             0 |
| bdavis2  |             2 |
| tapple3  |             0 |
| adavid4  |             2 |
| btown5   |             0 |
+----------+---------------+

即使使用 'D' (大写字母)作为子字符串,我们仍然可以在用户名 bdavisadavid4 中找到匹配项。

相关用法


注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | POSITION method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。