我試圖創建此功能的用戶定義函數(UDF):MySQL的 - 故障與創建
CREATE FUNCTION remove_non_alphanum (prm_strInput varchar(3000))
RETURNS VARCHAR(3000)
DETERMINISTIC
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE v_char VARCHAR(1);
DECLARE v_parseStr VARCHAR(3000) DEFAULT '';
WHILE (i <= LENGTH(prm_strInput)) DO
SET v_char = SUBSTR(prm_strInput,i,1);
IF v_char REGEXP '^[A-Za-z0-9]$' THEN
SET v_parseStr = CONCAT(v_parseStr,v_char);
END IF;
SET i = i + 1;
END WHILE;
RETURN trim(v_parseStr);
END
但MySQL的說:
13:52:45 [CREATE - 0 row(s), 0.000 secs] [Error Code: 1064, SQL State: 42000] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
什麼我可以是錯了嗎?語法對我來說看起來是正確的。
評論事情(在這種情況下,從WHILE循環中的IF開始),一次一個測試以更好地確定問題。 –
其實我是應該在查詢窗口中運行這個?這個頁面似乎意味着我需要首先編譯一個UDF http://dev.mysql.com/doc/refman/5.0/en/adding-functions.html – Greg
@Greg,如果你正在編寫一個函數在C語言中。你的代碼是SQL。 –