sql-server - 如何在sql中获得小数点后2位?

我在选择列中格式化数字时遇到问题。我使用了 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

https://stackoverflow.com/questions/16412231/

相关文章:

perl - Perl 中的今天日期,格式为 MM/DD/YYYY

javascript - 如何在javascript中将完整日期转换为短日期?

sql-server - SSMS 结果到网格 - CRLF 未保留在复制/粘贴中 - 有更好的技术

bash - 如何在 bash 中打印一些文本并用空格填充到一定宽度?

c# - ToString ("N2") 和 ToString ("0.00") 之间的区别

eclipse - 如何在 Eclipse 中禁用保存时自动格式化?

visual-studio - Razor Helper 语法自动格式化丑陋。怎么修?

reporting-services - Reporting Services [SSRS] 表达式

visual-studio-code - 如何格式化 Visual Studio Code 项目中的

ruby-on-rails - Rails(或 Ruby): Yes/No instead of T