有三列成本,参与者,single_cost,并且想要编写SQL来将参与者划分的成本分类为single_cost。 当小数部分出现时,我努力将其关闭,我可以进入,但是我说,并且知道一种方法在这个场合教导价值吗? 每列都是int类型。提前感谢你。
离 在cost = 15000时,参与者= 7,我变成了single_cost = 2,142.8,但是在2143的数据库中注册了自己。
答案 0 :(得分: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
希望有所帮助。
答案 1 :(得分:0)
你可以这样做(假设是t-sql)
select single_cost = round(cast(cost as float) / cast(participant as float),0)