0

我正在尝试开发一个功能,但我遇到了一个错误,请问这个错误在哪里?谢谢。这是代码:

mysql> DELIMITER //
mysql> CREATE FUNCTION anumero (cadena varchar(20)) returns INT
-> DETERMINISTIC
-> BEGIN
-> DECLARE LARGO,I int DEFAULT 0;
-> DECLARE N VARCHAR(20) DEFAULT "";
-> SET I =1;
-> SET LARGO = LENGTH(CADENA);
-> REPEAT
-> IF INSTR('0123456789',SUBSTRING(CADENA,I,1))>0 THEN
-> SET N= CONCAT(N,SUBSTRING(CADENA,I,1));
-> END IF;
-> SET I = I+1;
-> UNTIL I > LARGO
-> END REPEAT;
-> return CAST (N as binary);
-> END //

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'binary) 附近使用的正确语法;END' 在第 15 行

4

1 回答 1

0

在 MySQL 中,你不能在函数名和它的参数之间写任何字符。
所以,你的return陈述应该是:

    return CAST(N as binary);

于 2013-01-23T13:39:46.523 回答