阅读量:0
STRPOS
是一个字符串查找函数,它在 MySQL 中并不存在
以下是一些示例:
- 使用
LOCATE
和SUBSTRING
函数:
SELECT LOCATE('needle', 'haystack') as position;
这将返回 needle
在 haystack
中的位置。然后,你可以使用 SUBSTRING
函数来提取所需的子字符串。
- 使用
INSTR
和SUBSTRING_INDEX
函数:
SELECT INSTR('haystack', 'needle') as position;
这将返回 needle
在 haystack
中的位置。然后,你可以使用 SUBSTRING_INDEX
函数来提取所需的子字符串。
- 使用
LIKE
和REGEXP
运算符:
SELECT * FROM table WHERE column LIKE '%needle%';
或者
SELECT * FROM table WHERE column REGEXP 'needle';
这将返回包含 needle
的所有行。
- 使用自定义函数(UDF):
如果你确实需要 STRPOS
函数,你可以创建一个自定义函数。以下是一个简单的示例:
DELIMITER $$ CREATE FUNCTION STRPOS(haystack VARCHAR(255), needle VARCHAR(255)) RETURNS INT DETERMINISTIC BEGIN DECLARE position INT; SET position = LOCATE(needle, haystack); RETURN position; END$$ DELIMITER ;
现在你可以像使用 STRPOS
函数一样使用这个自定义函数:
SELECT STRPOS('haystack', 'needle') as position;
这将返回 needle
在 haystack
中的位置。