2017-02-08 47 views
0

我創建了一個包含兩個字段的臨時表,格式爲int。 創建表#tmp格式化臨時表

unprocessed int, 
invoiced int 

然後我用這個計算第三個字段。

select unprocessed, invoiced, (unprocessed /invoiced) as percentageunprocessed 
from #tmp 

我的結果是

Unprocessed invoiced percentageunprocessed 
33   200  0 

應該

33   200  0.165 

我想這是因爲percentageunprocessed也被格式化爲int而不是DEC(5,2)。我可以更改格式嗎?

+0

奇怪,我的MYSQL給人以浮動?你使用的是哪個版本的MYSQL – RiggsFolly

+0

你正在使用哪個版本? –

+0

在http://sqlfiddle.com/#99/c50bc1/1/0上擺弄你的代碼 –

回答

0

它不是答案:

這不正常。正常的回報率浮動

我的版本

mysql> SELECT VERSION(); 
+-----------+ 
| VERSION() | 
+-----------+ 
| 5.7.15 | 
+-----------+ 
1 row in set (0,00 sec) 

mysql> 

樣品

mysql> CREATE TEMPORARY TABLE result (a INT, b INT); 
Query OK, 0 rows affected (0,00 sec) 

mysql> INSERT INTO result VALUES(10,330); 
Query OK, 1 row affected (0,00 sec) 

mysql> SELECT a,b,a/b FROM result; 
+------+------+--------+ 
| a | b | a/b | 
+------+------+--------+ 
| 10 | 330 | 0.0303 | 
+------+------+--------+ 
1 row in set (0,00 sec) 

mysql>