3
我有以下UDFMySQL数据类型声明中DECIMAL(x,y)中x和y的边界值是什么?
drop function if exists getCurrency$$
create function getCurrency(dt datetime, x decimal(19,4), y decimal(19, 4))
returns decimal(10,4) reads sql data
begin
declare currencyval decimal(10,4);
/* Some conditions */
select case when dt = "2000-12-31" then 0 else round((x/y), 4) into currencyval;
return currencyval;
end$$
有时这UDF抛出数据截断误差。 我可以解决这个问题,但之前我甚至想要一些有关十进制数据类型和参数10,4的重要性的信息。
如果您举一些边界条件的例子,这将是一件好事。
此链接已死,但答案仍在此处。 10还有6?我期望从这个例子中可以看出'L_NUM NUMBER(10,4)的精度可以达到10位数,其中4位可以放在小数点后面。“对此,情况并非如此([source](http://psoug.org) /definition/number.htm))。 – gsamaras
@gsamaras decumal(10,4)表示数字部分为6,小数部分为4。链接是固定的,谢谢。 – zerkms