2009-06-30 58 views
0

有三列成本,參與者,single_cost,並且希望編寫SQL以將參與者的成本劃分爲single_cost的值。 當小數部分出現時,我努力保留它,並且我可以進入,但是我會說,並且知道一種方法會在這個時候教導一個值? 每列都是int類型。提前感謝你。sql中的數字格式化函數

前 在成本的時間= 15000,參與者= 7,我成爲single_cost = 2,142.8,但與2143

+0

你可能要考慮改寫這一問題。 – akf 2009-06-30 03:11:18

回答

1

一個數據庫中註冊自己,如果我理解正確的話你要保持浮點值在你的數據庫中。要發生這種情況,您需要將您的除法結果以下列方式浮動:CAST(X/Y AS FLOAT),其中X和Y以及您的字段名稱。

請注意single_cost的數據類型也必須是FLOAT。

根據您擁有的數據庫,另一種實現方法是將分子或分母乘以「1.0」。

例如:

UPDATE Table 
SET single_cost = (1.0 * cost)/participant 

以前的解決辦法是:

UPDATE Table 
SET single_cost = CAST(cost AS FLOAT)/participant 

希望有所幫助。

0

你可以做這樣的事情(假定T-SQL)

select single_cost = round(cast(cost as float)/cast(participant as float),0)