【发布时间】:2014-01-10 06:07:49
【问题描述】:
可能,这是一个众所周知的问题,但我在文档中找不到答案。 如果我运行这些查询:
SELECT @next := 2, @amount := 1;
SELECT @next := 0.2, @amount := 0.1, @result := @next - @amount;
我会弄错@result = "0"
如果我再次运行第二个查询,结果将是正确的。
如果我在第二个查询中使用类型转换并再次运行这两个查询,结果也将是正确的。即,
SELECT @next := 0.2, @amount := 0.1, @result := CAST(@next AS DECIMAL(2,2)) - @amount;
为什么会这样?我应该读什么?
【问题讨论】: