0

我有以下 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)的非法混合

4

0 回答 0