我有以下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)