2011-04-26 46 views
1

嗨,如果我有以下幾點:SQL改變類型

表X {

num1 double precision; 
num2 int; 

}

,現在我想找出NUM2/NUM1和圓形至小數點後1位。

有沒有辦法在SELECT查詢中做到這一點?爲雙精度..我必須使用數字(4,1)或類似的東西?

回答

2

您可以使用round()

SELECT ROUND(num2/num1, 1) FROM x; 

PostgreSQL將劃分自動升級到浮點時num1是浮點:

> select 3/3.145927; 
     ?column?   
------------------------ 
0.95361399040727899916 
(1 row) 

和:

> select round(3/3.145927, 1); 
round 
------- 
    1.0 
(1 row) 
1

拓展上萬畝的回答...根據你的postgres版本,因爲round(numeric,int)存在而round(float,int)不存在:

select round(num1::numeric/num2::numeric, 1);