2009-06-30 43 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)