sql中的数字格式化函数

时间:2009-06-30 02:57:14

标签: sql

有三列成本,参与者,single_cost,并且想要编写SQL来将参与者划分的成本分类为single_cost。 当小数部分出现时,我努力将其关闭,我可以进入,但是我说,并且知道一种方法在这个场合教导价值吗? 每列都是int类型。提前感谢你。

离 在cost = 15000时,参与者= 7,我变成了single_cost = 2,142.8,但是在2143的数据库中注册了自己。

2 个答案:

答案 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)