Sql server 删除浮点数整数部分的最佳方法
要删除浮点数的整数部分,我使用:Sql server 删除浮点数整数部分的最佳方法,sql-server,sql-server-2008-r2,rounding,Sql Server,Sql Server 2008 R2,Rounding,要删除浮点数的整数部分,我使用: update ACTIVITIES set TIME = TIME - FLOOR(TIME) --TIME is float 这在计算中仍然有效。由于浮点计算,存在一些错误 编辑:我无法修改架构,时间必须保持浮动 我需要这样做的原因是,由于一个错误,浮点数变成>1,即使小数部分仍然可以。所以我需要去掉整数部分 我现在无法复制它,但我记得我有这样的东西: 1.6666666 7变为0.6666542534,而它应该是0.66666 7 请注意,这是遗留代码,因
update ACTIVITIES set TIME = TIME - FLOOR(TIME) --TIME is float
这在计算中仍然有效。由于浮点计算,存在一些错误
编辑:我无法修改架构,时间
必须保持浮动
我需要这样做的原因是,由于一个错误,浮点数变成>1,即使小数部分仍然可以。所以我需要去掉整数部分
我现在无法复制它,但我记得我有这样的东西:
1.6666666 7
变为0.6666542534
,而它应该是0.66666 7
请注意,这是遗留代码,因此TIME
是一个浮点数,而如果我从头开始编写,我将使用TIME
数据类型
所以我的问题是:这是正确的还是可以改进的
update ACTIVITIES set TIME = TIME - FLOOR(TIME)
您只是想截断整数部分并保留小数吗?或者你想进行任何舍入吗?你能把列转换成十进制吗?请注意,为了清楚起见,我加了“时间是浮动的”。我必须将该列保留为浮动列,我必须在不破坏模式的情况下运行维护脚本