在 MySQL 中,可以使用 LOCATE()
函數來實現類似于 SQL Server 中 CHARINDEX()
的功能
LOCATE(substr, str)
函數返回子字符串 substr
在字符串 str
中首次出現的位置。如果未找到子字符串,則返回 0。
以下是一個示例:
SELECT LOCATE('world', 'Hello, world!'); -- 返回 8
此查詢將返回值 8,因為子字符串 “world” 在字符串 “Hello, world!” 中首次出現的位置是從第 8 個字符開始的。
請注意,位置索引從 1 開始,而不是從 0 開始。
如果要實現類似于 SQL Server 中 CHARINDEX(substr, str, start_position)
的功能,可以使用 LOCATE(substr, str, start_position)
函數。例如:
SELECT LOCATE('world', 'Hello, world, welcome to the world!', 9); -- 返回 27
此查詢將返回值 27,因為子字符串 “world” 在字符串 “Hello, world, welcome to the world!” 中第二次出現的位置是從第 27 個字符開始的。