我在显示十进制数时遇到问题,它有很多数字。
我的sql声明:
Select sum(HS$totalMoney)
结果:
12132.123444343
我想显示为12132.12
而没有另一个号码
感谢。
答案 0 :(得分:2)
如果您的逻辑是为了钱,您应首先对值进行舍入而不是截断
select CONVERT(decimal(18,2),round(12132.123444343 ,2))
提供12132.12
select CONVERT(decimal(18,2),round(12132.125944343 ,2))
提供12132.13
答案 1 :(得分:1)
SELECT CONVERT(decimal(21, 2), sum(HS$totalMoney))
-- This one will round in SQL Server but truncate in ASE 15 (which was available to me at the time)
SELECT CONVERT(decimal(21, 2), round(sum(HS$totalMoney), 2, 1))
-- This one uses a variant of ROUND supported by SQL Server, but not ASE 15 (and will truncate the third and subsequent decimal places).
答案 2 :(得分:1)
试试这个 -
SELECT CAST(12132.123444343 AS DECIMAL(10,2))
答案 3 :(得分:1)
如果您使用的是mysql,请使用代码blew
SELECT TRUNCATE(sum(HS$totalMoney), 2);
答案 4 :(得分:1)
此查询解决了您的问题
SELECT CAST(12132.123444343 AS DECIMAL(10,2))
或者您可以使用
select CONVERT(decimal(18,2),round(12132.1255555 ,2))
答案 5 :(得分:1)
round函数有一个截断的函数参数而不是round:
select round(12132.123444343 , 2, 1)