如何获得tsql中的小数点后2位数字? [英] how to get 2 digits after decimal point in tsql?

查看:318
本文介绍了如何获得tsql中的小数点后2位数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有问题在我的选择列中格式化数字。我使用FORMAT,但它不起作用。
这里是我的专栏:

$ $ p $ $ $ $ $ c $ sum $(cast(datediff(second,IEC.CREATE_DATE,IEC.STATUS_DATE)as / b














$ b

  FORMAT(sum(cast(datediff(second,IEC.CREATE_DATE,IEC.STATUS_DATE)as float)/ 60),2)TotalSentMinutes 

错误:


'format'不是认可的内置函数名称。

如何格式化这个计算?



  DECLARE @i FLOAT = 6.677756 
h2_lin>解决方案


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


I am having problem to format digits in my select column.I used FORMAT but it doesn't work. Here is my column:

sum(cast(datediff(second, IEC.CREATE_DATE, IEC.STATUS_DATE) as float) / 60) TotalSentMinutes    

I used this:

FORMAT(sum(cast(datediff(second, IEC.CREATE_DATE, IEC.STATUS_DATE) as float) / 60),2) TotalSentMinutes  

ERROR:

'format' is not a recognized built-in function name.

How can I format this calculation?

解决方案

Try this one -

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)

Output:

----------------------
6,68
6.68
6.68
67
67

这篇关于如何获得tsql中的小数点后2位数字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆