我在选择列中格式化数字时遇到问题。我使用了 FORMAT,但它不起作用。 这是我的专栏:
sum(cast(datediff(second, IEC.CREATE_DATE, IEC.STATUS_DATE) as float) / 60) TotalSentMinutes
我用过这个:
FORMAT(sum(cast(datediff(second, IEC.CREATE_DATE, IEC.STATUS_DATE) as float) / 60),2) TotalSentMinutes
错误:
'format' is not a recognized built-in function name.
我怎样才能格式化这个计算?
最佳答案
试试这个 -
DECLARE @i FLOAT = 6.677756
SELECT
ROUND(@i, 2)
, FORMAT(@i, 'N2')
, CAST(@i AS DECIMAL(18,2))
, SUBSTRING(PARSENAME(CAST(@i AS VARCHAR(10)), 1), PATINDEX('%.%', CAST(@i AS VARCHAR(10))) - 1, 2)
, FLOOR((@i - FLOOR(@i)) * 100)
输出:
----------------------
6,68
6.68
6.68
67
67
关于sql-server - 如何在sql中获得小数点后2位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16412231/