📜  MySQL 中的 INSTR()函数(1)

📅  最后修改于: 2023-12-03 15:17:47.050000             🧑  作者: Mango

MySQL 中的 INSTR() 函数

INSTR() 函数是 MySQL 中的字符串函数之一,它用于查找一个字符串中是否包含另一个字符串,并返回被查找字符串的起始位置。

语法
INSTR(str,substr)

参数说明:

  • str 是要查找的字符串。
  • substr 是要查找的子字符串。

返回值:

  • substr 存在于 str 中,则返回 substrstr 中第一次出现的位置。
  • substr 不在 str 中,则返回 0。

示例:

SELECT INSTR('Hello World', 'World'); -- 返回 7
SELECT INSTR('Hello World', 'Jean'); -- 返回 0
注意事项
  • strsubstrNULL,则返回 NULL
  • INSTR() 函数区分大小写,例如 'Hello World''hello world' 是不同的字符串。
  • 如果要忽略大小写,可以使用 UPPER()LOWER() 函数将字符串转换成大写或小写后再进行比较。

示例:

SELECT INSTR('Hello World', 'w'); -- 返回 0,大小写敏感
SELECT INSTR(UPPER('Hello World'), UPPER('W')); -- 返回 7,忽略大小写
  • INSTR() 函数还有一种变体语法,可以指定从哪个位置开始查找。例如,要从第 5 个字符开始查找子字符串:
SELECT INSTR('Hello World', 'l', 5); -- 返回 3

其中第三个参数 5 表示从第 5 个字符开始查找。

使用场景

INSTR() 函数常用于在 WHERE 子句中进行字符串匹配。例如,查询所有以 'J' 开头的人的姓名:

SELECT name FROM customers WHERE INSTR(name, 'J') = 1;

此语句将返回所有在 name 字段中以 'J' 开头的记录。

总结

INSTR() 函数可以用于查找一个字符串中是否包含特定的子字符串,且可指定从哪个位置开始查找。在实际使用中,请注意大小写敏感性以及参数值的正确性,以保证查询结果的准确性。