MySQL中的LOCATE函數(shù)可以用于查找子字符串在字符串中的位置。
SELECT LOCATE('abc', 'defgabc'); // 輸出結(jié)果為7,即子字符串'abc'在字符串'defgabc'中的位置
LOCATE函數(shù)的語法如下:
LOCATE(substr, str[, start]) // substr:子字符串 // str:字符串 // start:查找的起始位置,默認為1
若substr不存在于str中,則返回0。
SELECT LOCATE('abc', 'defg'); // 輸出結(jié)果為0
可以與其他函數(shù)結(jié)合使用,如SUBSTRING。
SELECT SUBSTRING('defgabc', LOCATE('abc', 'defgabc')); // 輸出結(jié)果為'abc'
LOCATE函數(shù)還可以用來查找多個子字符串。
SELECT LOCATE('abc', 'abcdabcdeabcfg', LOCATE('abc', 'abcdabcdeabcfg') + 1); // 輸出結(jié)果為8,即查找到的第二個'abc'在字符串中的位置