我正在计算总小时/分钟,但我想摆脱小数点,只显示像这样的东西2.00小时或2.5小时等我现在得到这样的东西:2.000000并且只想限制为2位小数仅
select DATEDIFF(minute, Min(FullDatetime), Max(FullDatetime)) / 60.0 as hours
from myTable
where userid = 123
答案 0 :(得分:2)
您可以通过舍入来完成,但最简单的方法是使用FORMAT()格式化输出。
select FORMAT(DATEDIFF(minute, Min(FullDatetime), Max(FullDatetime)) / 60.0, 'N2') as hours
from myTable
where userid = 123
有用的原始文档:here
答案 1 :(得分:1)
尝试使用
cast('values' as decimal(18,2)) --2 decimal place.
select Cast((DATEDIFF(minute, Min(FullDatetime), Max(FullDatetime)) / 60.0 as hours)as decimal(18,2))
from myTable
where userid = 123
答案 2 :(得分:0)
答案 3 :(得分:0)
只需使用ROUND函数,例如:表格中的SELECT ROUND(columnName,decimals)
答案 4 :(得分:0)
您可以使用STR
或CONVERT
功能:
DECLARE @v NUMERIC(19, 6)
SET @v = 2.189189
SELECT STR(@v, 19, 2) AS Method1_Result_VARCHAR, CONVERT(NUMERIC(15, 2), @v) AS Method2_Result_NUMERIC
/*
Method1_Result_VARCHAR Method2_Result_NUMERIC
---------------------- ----------------------
2.19 2.19
*/
注意:STR
函数的第一个参数具有float类型,这意味着1)SQL Server将此参数从numeric
转换为float
和2)方法1使用非确定性表达。