要删除浮点数的整数部分,我使用:
update ACTIVITIES set TIME = TIME - FLOOR(TIME) --TIME is float
这在计算中仍有效,因为浮点计算会产生一些错误。
编辑:我无法修改架构,TIME
必须保留float
。
我需要这样做的原因是因为一个错误,浮点数变为> 1即使小数部分仍然可以。所以我需要删除整数部分。
我现在无法重现它,但我记得我有类似的东西:
1.6666666667
变为0.6666542534
,而它应为0.6666666667
。
请注意,这是遗留代码,因此TIME
是一个浮点数,而如果我从头开始编写,我将使用TIME
数据类型。
所以我的问题是:这是正确的还是可以改进?
update ACTIVITIES set TIME = TIME - FLOOR(TIME)