我有以下 MySQL 函数来检查字符串中是否存在所有单词。
CREATE DEFINER=`root`@`localhost` FUNCTION `ALL_WORDS`(s TEXT, m TEXT) RETURNS int(11)
BEGIN
DECLARE j INT DEFAULT 1;
DECLARE k INT DEFAULT 1;
DECLARE c INT;
--
SET s=TRIM(s);
--
IF s<>'' AND m<>'' THEN
--
SET s=CONCAT(' ', UCASE(s) , ' ' );
SET m=UCASE(m);
--
SET c=PARSECOUNT(m,' ');
--
a:LOOP
--
IF j=c+1 OR INSTR(s,CONCAT(' ',PARSE(m,' ',j),' ')) =0 THEN
--
LEAVE a;
--
END IF;
--
SET j=j+1;
--
END LOOP;
--
SET k=(j=c+1);
--
END IF;
--
RETURN k;
--
END
当我运行时,我得到以下响应
错误代码:1267。操作“instr”的排序规则(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)的非法混合