我创建了一个在数据库中可用的函数,但是我正在使用的IDE(HeidiSQL)生成的该函数的CREATE代码抛出错误:
错误SQL(1064):您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取在第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
有什么建议么?
最佳答案
尝试:
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
关于mysql - MySQL函数具有REPLACE引发语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26817620/