我不太了解cast功能以及decimal此处。decimal(7,2)实际上是什么意思?The first part and the second part arg of the function.
cast
decimal
decimal(7,2)
The first part and the second part arg of the function.
为什么在这里我需要将cast/convert浮点数转换为小数?
cast/convert
mysql> SELECT productCode, MAX(price), MIN(price), CAST(AVG(price) AS DECIMAL(7,2)) AS `Average`, CAST(STD(price) AS DECIMAL(7,2)) AS `Std Dev`, SUM(quantity) FROM products GROUP BY productCode; +-------------+------------+------------+---------+---------+---------------+ | productCode | MAX(price) | MIN(price) | Average | Std Dev | SUM(quantity) | +-------------+------------+------------+---------+---------+---------------+ | PEC | 0.49 | 0.48 | 0.49 | 0.01 | 18000 | | PEN | 1.25 | 1.23 | 1.24 | 0.01 | 15000 | +-------------+------------+------------+---------+---------+---------------+
下面是相同的sql小提琴吗?
http://sqlfiddle.com/#!2/1ed51b/1/0
我的问题再次重复:
DECIMAL(7,2)表示具有固定小数点的数字,总共有7位数字,其中2位在小数点右边。(因此,左5个,右2个。)
DECIMAL(7,2)
你并不 需要 ,除非你想decimal类型(通常,固定点),而不是FLOAT类型的行为(与数字的小数点右边相对不可预知号码有用的近似值)的行为来投。例如,对于 带有 强制转换的产品代码“ PEC”,您的平均值为33333.65; 没有 演员表,则是33333.653333。
如果您经常使用 所有 数字,则可能应该增加转换中的数字总数。说,像DECIMAL (14,2)。
DECIMAL (14,2)