CAST为十进制,还是* 1.0?

时间:2012-08-16 10:31:18

标签: sql-server casting

以下两个查询都会给我相同的结果,我已经看到过去使用这两种技术来确保返回decimal数据类型。

select CAST(5 as decimal(18,2))/2

select 5*1.0/2

最好使用哪种方法?

为什么人们会使用*1.0而不是投射?这只是因为它更快输入?

1 个答案:

答案 0 :(得分:2)

如果您想控制结果的精确度或比例,那么您必须使用CASTCONVERT。但我相信,如果您只想要“小数”,那么按照您的建议,输入* 1.0会更快。