我是SQL Server的新手,这个问题可能会在这里重复。因为我没有找到解决我问题的方法。我希望在这里发帖。所以这是我的问题
select(volume * speed) from traffic_data_replica;
我试图将两列中的值相乘,两列的数据类型都是smallint。我得到的错误是:
Msg 8115,Level 16,State 2,Line 1
将表达式转换为数据类型smallint的算术溢出错误。
答案 0 :(得分:3)
在计算之前将其中一个值转换为“更大”类型:
select cast(volume as int) * speed
from traffic_data_replica;
您也可以通过乘以1.0来轻松完成此操作:
select 1.0*volume*speed
from traffic_data_replica