mysql中LOCATE函数
在MySQL中,LOCATE函数用于在一个字符串中查找另一个子字符串的位置。该函数返回子字符串在原始字符串中第一次出现的位置,如果子字符串不存在则返回0。
语法
LOCATE(substr, str [, start])
参数说明:
substr
:要在原始字符串中搜索的子字符串。str
:原始字符串。start
:可选参数,设置开始搜索的位置,默认为1。
示例
假设有一个名为products
的表,表结构如下:
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(50)
);
INSERT INTO products VALUES
(1, 'Apple iPhone 12'),
(2, 'Samsung Galaxy S21'),
(3, 'Xiaomi Mi 11');
现在我们想找出名称中包含关键词”iPhone”的产品:
SELECT * FROM products
WHERE LOCATE('iPhone', name) > 0;
运行以上代码,将返回如下结果:
| id | name |
|----|-----------------|
| 1 | Apple iPhone 12 |
注意事项
- 如果要查找的子字符串在原始字符串中不存在,
LOCATE
函数将返回0。 LOCATE
函数是区分大小写的,如果需要不区分大小写地进行查找,可以使用INSTR
函数。
通过本文的介绍,你应该了解了在MySQL中使用LOCATE
函数来查找子字符串的位置。在实际的数据库查询中,这个函数可以帮助我们快速定位到需要的数据。