0
我有此功能來消除所有字母數字字符:的MySQL刪除字符串中的所有字母數字字符但有兩個字符
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確實有辦法解決它。 –