Ich habe die folgende Funktion, die in mehreren Datenbanken auf meinem Server verwendet wird.
CREATE FUNCTION `fn_strings_intersect`(arg_str1 VARCHAR(255), arg_str2 VARCHAR(255)) RETURNS varchar(255) CHARSET latin1
BEGIN
SET arg_str1 = CONCAT(arg_str1, ",");
SET @var_result = "";
WHILE(INSTR(arg_str1, ",") > 0)
DO
SET @var_val = SUBSTRING_INDEX(arg_str1, ",", 1);
SET arg_str1 = SUBSTRING(arg_str1, INSTR(arg_str1, ",") + 1);
IF(FIND_IN_SET(replace(@var_val, ' ', ''), arg_str2) > 0)
THEN
SET @var_result = CONCAT(@var_result, @var_val, ",");
END IF;
END WHILE;
IF (@var_result = "")
THEN
RETURN false;
ELSE
RETURN true;
END IF;
END;
In regelmäßigen Abständen und auf nicht vorhersehbare Weise wird die Funktion in allen Datenbanken abgelegt.
Gibt es etwas an der Funktion oder möglicherweise an meiner MySQL-Konfiguration, das dazu führen würde / könnte, dass diese Funktion gelöscht wird?