问题是我是直接从shell编写函数(bash) 试图从一些我不知道的IDE翻译语法!! 原来的功能是:
<div class="container">
<a href="#" class="image">
<img src="http://placehold.it/400x400" alt="">
</a>
<a href="#" class="image">
<img src="http://placehold.it/400x400" alt="">
</a>
<a href="#" class="image">
<img src="http://placehold.it/400x400" alt="">
</a>
<a href="#" class="image">
<img src="http://placehold.it/400x400" alt="">
</a>
<a href="#" class="image">
<img src="http://placehold.it/400x400" alt="">
</a>
<a href="#" class="image">
<img src="http://placehold.it/400x400" alt="">
</a>
</div>
因此更改了一些语法以使用CREATE FUNCTION CalcIVA(@Price money)RETURNS money
AS
BEGIN
DECLARE @IVA money
SET @IVA = @Price * 1.16
RETURN @IVA
END;
提示符:
mysql>
我做错了什么?
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在第1行'SET
CREATE FUNCTION CalculoIVA(x INT)RETURNS INT DETERMINISTIC BEGIN DECLARE IVA INT SET IVA = x *1.16 RETURN IVA END;
=IVA
* 1.16返回x
END'附近使用的语法
答案 0 :(得分:1)
确定所需的数据类型。你的1.16想法INT
不会那么热。你输给了一个INT。以下内容不使用INT
DROP FUNCTION IF EXISTS CalculoIVA;
DELIMITER $$
CREATE FUNCTION CalculoIVA
(x DECIMAL(12,4))
RETURNS DECIMAL(12,4)
DETERMINISTIC
BEGIN
DECLARE IVA DECIMAL(12,4); -- OR FLOAT etc
SET IVA = x *1.16;
RETURN IVA;
END;$$
DELIMITER ;
select CalculoIVA(9.12);
-- 10.5792
如果您希望数据类型为DECIMAL(12,2)
或FLOAT
,只需进行必要的更改。
注意:PHPMyAdmin用户不需要DELIMITER包装器。