STRPOS
是一個(gè)字符串查找函數(shù),它在 MySQL 中并不存在
以下是一些示例:
LOCATE
和 SUBSTRING
函數(shù):SELECT LOCATE('needle', 'haystack') as position;
這將返回 needle
在 haystack
中的位置。然后,你可以使用 SUBSTRING
函數(shù)來提取所需的子字符串。
INSTR
和 SUBSTRING_INDEX
函數(shù):SELECT INSTR('haystack', 'needle') as position;
這將返回 needle
在 haystack
中的位置。然后,你可以使用 SUBSTRING_INDEX
函數(shù)來提取所需的子字符串。
LIKE
和 REGEXP
運(yùn)算符:SELECT * FROM table WHERE column LIKE '%needle%';
或者
SELECT * FROM table WHERE column REGEXP 'needle';
這將返回包含 needle
的所有行。
如果你確實(shí)需要 STRPOS
函數(shù),你可以創(chuàng)建一個(gè)自定義函數(shù)。以下是一個(gè)簡單的示例:
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 ;
現(xiàn)在你可以像使用 STRPOS
函數(shù)一樣使用這個(gè)自定義函數(shù):
SELECT STRPOS('haystack', 'needle') as position;
這將返回 needle
在 haystack
中的位置。