MySQLクエリブラウザで関数を実行すると、「スクリプト行:クエリ中にMySQLサーバーへの接続が失われました」というエラーメッセージが表示されます。ドロップできません。実行中またはドロップしようとすると、クエリブラウザが動かなくなってしまいました。機能コードを以下に示します。
引数は次のようになります-('52、53,50')
DELIMITER $$
DROP FUNCTION IF EXISTS `split_string` $$
CREATE FUNCTION `split_string`(sStrMain VARCHAR(255)) RETURNS varchar(255) CHARSET latin1
BEGIN
DECLARE n,l INT DEFAULT 0;
DECLARE L1,str,temp,L2,res,Final_res VARCHAR(255);
SET str = sStrMain;
WHILE str !='' DO
SET L1 = SUBSTRING(str,1,LOCATE(',',str)-1);
SET res = lookup_code(L1);
SET Final_res = CONCAT_WS(',',Final_res,res);
SET temp = REPLACE(str,SUBSTRING(str,1,L1,'');
SET str = temp;
SET temp = '';
SET n = n + 1;
END WHILE;
RETURN Final_res;
END $$
DELIMITER ;
この関数を使用して文字列をseparator(comma)で分割し、結果を返します。