我必须使用聚合函数来查询列的总量。列数据类型为NVARCHAR(MAX)。如何将其转换为整数?
我试过这个:
SELECT SUM(CAST(amount AS INT)),branch FROM tblproducts WHERE id = 4 GROUP BY branch
…但我得到:
Conversion Failed when converting the nvarchar value ‘3600.00’ to data type int.
解决方法
3600.00不是整数,所以CAST通过浮点头
sum(CAST(CAST(amount AS float) AS INT))
编辑:
为什么漂浮?
>不知道所有行的精度或尺度:float也许是较小的邪恶>空字符串将转换为零为浮点数,十进制失败> float接受像5E-02这样的东西,十进制失败