在Sql server Query中用decimal更新数值

时间:2015-01-08 15:47:19

标签: sql-server sql-server-2012

我需要更新表格

查询:

update um 
set ProForOccupancy = t.Occupancy 
from #Temp_UnitMix um 
join ##TempOccupency t on um.PropertyId = t.PropertyId

表值如下:

ProFormaOccupancy(int)  Occupancy(float)
     0                 0.95
     0                 0.95
     0                 0.95
     0                 0.95

当我尝试更新时,没有任何内容正在更新..有任何建议请...

2 个答案:

答案 0 :(得分:1)

如果你运行

SELECT CAST(0.95 AS Int)

您将看到它的值为0.这就是您的更新正在执行的操作,因为数据类型不同。

问题:ProFormaOccupancy应该是小数还是浮点数?在这种情况下,您的表定义需要使用以下内容进行更改:

CREATE TABLE #Temp_UnitMix (
-- ... (your other columns here)
ProFormaOccupancy float

)

答案 1 :(得分:0)

我已将临时表结构更改为浮动状态。它工作..谢谢大家的答复..