2014-11-08 27 views
0

我创建了我的数据库工作的功能,但创建该我使用(HeidiSQL)IDE生成这个函数的代码抛出一个错误:与MySQL功能REPLACE抛出语法错误

Erro SQL (1064): 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 10

生成的代码如下:

CREATE DEFINER=`root`@`localhost` FUNCTION `CONVERTE_VALOR`(`VALOR` VARCHAR(255)) 
    RETURNS decimal(10,0) 
    LANGUAGE SQL 
    NOT DETERMINISTIC 
    NO SQL 
    SQL SECURITY DEFINER 
    COMMENT 'Converte valor VARCHAR em DECIMAL para comparação' 
BEGIN 

    RETURN CAST(REPLACE(REPLACE(VALOR, '.', ''), ',', '.') AS UNSIGNED); /* Line 10 */ 

END 

有什么建议吗?

回答

1

尝试:

CREATE DEFINER=`root`@`localhost` FUNCTION `CONVERTE_VALOR`(`VALOR` VARCHAR(255)) 
    RETURNS decimal(10,0) 
    LANGUAGE SQL 
    NOT DETERMINISTIC 
    NO SQL 
    SQL SECURITY DEFINER 
    COMMENT 'Converte valor VARCHAR em DECIMAL para comparação' 
-- BEGIN 
    RETURN CAST(REPLACE(REPLACE(VALOR, '.', ''), ',', '.') AS UNSIGNED); /* Line 10 */ 
-- END 
+0

好的,谢谢。 – DontVoteMeDown 2014-11-09 02:22:37