LOCATE()

函数说明

LOCATE() 函数是用于在字符串中查找子字符串所在位置的函数。它返回子字符串在字符串中的位置,如果未找到,则返回 0。

由于 LOCATE() 函数返回的是一个整数值,所以它可以嵌套在其他函数里面使用,比如可以用 substring 函数截取字符串。

关于大小写,LOCATE() 函数不区分大小写。

函数语法

  1. > LOCATE(subtr,str,pos)

参数释义

参数说明
substr必要参数。substring 是你正在查找的字符串。
str必要参数。string 是要在其中搜索的字符串。
pos非必要参数。position 是表示开始查询的位置。

示例

  • 示例 1
  1. mysql> SELECT LOCATE('bar', 'footbarbar');
  2. +-------------------------+
  3. | locate(bar, footbarbar) |
  4. +-------------------------+
  5. | 5 |
  6. +-------------------------+
  7. 1 row in set (0.00 sec)
  • 示例 2
  1. mysql>SELECT LOCATE('bar', 'footbarbar',6);
  2. +----------------------------+
  3. | locate(bar, footbarbar, 6) |
  4. +----------------------------+
  5. | 8 |
  6. +----------------------------+
  7. 1 row in set (0.00 sec)
  • 示例 3
  1. mysql>SELECT SUBSTRING('hello world',LOCATE('o','hello world'),5);
  2. +---------------------------------------------------+
  3. | substring(hello world, locate(o, hello world), 5) |
  4. +---------------------------------------------------+
  5. | o wor |
  6. +---------------------------------------------------+
  7. 1 row in set (0.00 sec)
  • 示例 4
  1. mysql>select locate('a','ABC');
  2. +----------------+
  3. | locate(a, ABC) |
  4. +----------------+
  5. | 1 |
  6. +----------------+
  7. 1 row in set (0.00 sec)