我需要把分钟转换成小时,四舍五入到小数点后两位。我还需要只显示小数点后最多两个数字。如果分钟是650,那么小时应该是10.83。
以下是我目前所了解到的:
Select round(Minutes/60.0,2) from ....
但是在这种情况下,如果我的分钟是630小时是10500万。但我只希望它是10.50(四舍五入后)。我该如何做到这一点?
我需要把分钟转换成小时,四舍五入到小数点后两位。我还需要只显示小数点后最多两个数字。如果分钟是650,那么小时应该是10.83。
以下是我目前所了解到的:
Select round(Minutes/60.0,2) from ....
但是在这种情况下,如果我的分钟是630小时是10500万。但我只希望它是10.50(四舍五入后)。我该如何做到这一点?
当前回答
我发现STR函数是完成这一任务的最干净的方法。
SELECT STR(ceiling(123.415432875), 6, 2)
其他回答
以下查询是有用和简单的-
declare @floatExchRate float;
set @floatExchRate=(select convert(decimal(10, 2), 0.2548712))
select @floatExchRate
输出值为0.25。
你可以使用:
select cast((630/60.0) as decimal(16,2))
SQL Server
无论你用什么来命名,都应该是十进制。例如,1548/100给出15.00。
在我们的例子中,如果我们将100替换为100.0,那么我们将得到15.48
select 1548/100
15.00000
select 1548/100.0
15.4800
0
我发现STR函数是完成这一任务的最干净的方法。
SELECT STR(ceiling(123.415432875), 6, 2)
这适用于PostgreSQL和Oracle:
SELECT ename, sal, round(((sal * .15 + comm) /12),2)
FROM emp where job = 'SALESMAN'