私はすべての英数字文字を削除するには、この機能を持っている以外の文字列からすべての英数字文字を削除:[
、]
:どのように私はまた、これらの2つの文字を許可するように変更しますMySQLは2つの文字
DROP FUNCTION IF EXISTS alphanum;
DELIMITER |
CREATE FUNCTION alphanum(str CHAR(32)) RETURNS CHAR(16)
BEGIN
DECLARE i, len SMALLINT DEFAULT 1;
DECLARE ret CHAR(32) DEFAULT '';
DECLARE c CHAR(1);
SET len = CHAR_LENGTH(str);
REPEAT
BEGIN
SET c = MID(str, i, 1);
IF c REGEXP '[[:alnum:]]' THEN
SET ret=CONCAT(ret,c);
END IF;
SET i = i + 1;
END;
UNTIL i > len END REPEAT;
RETURN ret;
END |
DELIMITER ;
?
例えば:
alphanum('hell;o [world] number8$')
が得られます:hello[world]number8
何も返さない...空文字列。 – avi
@avi。 。 。明らかに、それは "通常の"正規表現との(別の)相違点です。 MySQLには方法があります。 –