如何截断SQL中的十进制空格?

时间:2010-11-19 17:32:10

标签: sql-server sql-server-2005 tsql

我正在尝试获取数据库的大小,并希望将其显示到GUI。多数民众赞成我正在使用

select 
sum(((((CAST(saf.[size] as DECIMAL(18,4)) * 8192) /1024) /1024) /1024)) as 'Size'
from sys.sysdatabases sdb
inner join sys.sysaltfiles saf
on sdb.dbid = saf.dbid
where sdb.name = 'testDB'

结果是: -

3.8329467773437500000

但是我希望它可以像这样修剪或整理: -

3.84

2 个答案:

答案 0 :(得分:1)

尝试舍入。

http://msdn.microsoft.com/en-us/library/ms175003.aspx

我没有看到你独特的舍入问题。这看起来很有趣:

http://support.microsoft.com/kb/196652

答案 1 :(得分:0)

CAST(
    CEILING (
        sum(((((CAST(saf.[size] as DECIMAL(18,4)) * 8192) /1024) /1024) /1024))
    * 100)
AS decimal(18,2)
) / 100
  • 3.8329467773437500000
  • - > 383.29467773437500000(* 100)
  • - > 384.00000000 ......(天花板)
  • - > 384.00(小数18,2)
  • - > 3.84(/ 100)