CHARINDEX
是一个 SQL Server 函数,用于查找字符串中指定子字符串的位置
以下是在 MySQL 中使用 LOCATE
和 INSTR
函数的示例:
-- 使用 LOCATE 函数查找子字符串的位置
SELECT LOCATE('world', 'Hello, world!'); -- 返回 8
-- 使用 INSTR 函数查找子字符串的位置
SELECT INSTR('Hello, world!', 'world'); -- 返回 8
在复杂查询中,你可以将这些函数与其他条件结合使用。例如,假设你有一个名为 employees
的表,其中包含 first_name
和 last_name
列。你想要查找所有名字中包含 “John” 的员工:
-- 使用 LOCATE 函数
SELECT * FROM employees WHERE LOCATE('John', first_name) > 0;
-- 使用 INSTR 函数
SELECT * FROM employees WHERE INSTR(first_name, 'John') > 0;
这些查询将返回所有名字中包含 “John” 的员工记录。请注意,LOCATE
和 INSTR
函数在处理大小写时可能会有所不同。在某些情况下,你可能需要使用 LOWER
或 UPPER
函数来确保正确的比较。