如何通过charindex实现MySQL字符串匹配

avatar
作者
猴君
阅读量:0

在 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 个字符开始的。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!