有三列成本,參與者,single_cost,並且希望編寫SQL以將參與者的成本劃分爲single_cost的值。 當小數部分出現時,我努力保留它,並且我可以進入,但是我會說,並且知道一種方法會在這個時候教導一個值? 每列都是int類型。提前感謝你。sql中的數字格式化函數
前 在成本的時間= 15000,參與者= 7,我成爲single_cost = 2,142.8,但與2143
有三列成本,參與者,single_cost,並且希望編寫SQL以將參與者的成本劃分爲single_cost的值。 當小數部分出現時,我努力保留它,並且我可以進入,但是我會說,並且知道一種方法會在這個時候教導一個值? 每列都是int類型。提前感謝你。sql中的數字格式化函數
前 在成本的時間= 15000,參與者= 7,我成爲single_cost = 2,142.8,但與2143
一個數據庫中註冊自己,如果我理解正確的話你要保持浮點值在你的數據庫中。要發生這種情況,您需要將您的除法結果以下列方式浮動: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
希望有所幫助。
你可以做這樣的事情(假定T-SQL)
select single_cost = round(cast(cost as float)/cast(participant as float),0)
你可能要考慮改寫這一問題。 – akf 2009-06-30 03:11:18