我在显示十进制数字时遇到问题,它有很多数字。
我的 sql 语句:
Select sum(HS$totalMoney)
结果 :
12132.123444343
我想显示为 12132.12
没有另一个数字
谢谢。
我在显示十进制数字时遇到问题,它有很多数字。
我的 sql 语句:
Select sum(HS$totalMoney)
结果 :
12132.123444343
我想显示为 12132.12
没有另一个数字
谢谢。
如果您的逻辑是为了钱,您应该首先舍入不截断的值
select CONVERT(decimal(18,2),round(12132.123444343 ,2))
给12132.12
select CONVERT(decimal(18,2),round(12132.125944343 ,2))
给12132.13
试试这个——
SELECT CAST(12132.123444343 AS DECIMAL(10,2))
如果您使用的是 mysql,请使用自爆代码
SELECT TRUNCATE(sum(HS$totalMoney), 2);
这个查询解决了你的问题
SELECT CAST(12132.123444343 AS DECIMAL(10,2))
或者你可以使用
select CONVERT(decimal(18,2),round(12132.1255555 ,2))
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).
round 函数有一个函数参数来截断而不是 round:
select round(12132.123444343 , 2, 1)