2010-11-19 3 views
1

J'essaie d'obtenir la taille de la base de données et je veux l'afficher à l'interface graphique. Voilà ce que je suis en utilisantComment tronquer l'espace décimal dans TSQL?

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' 

résultat est: -

3.8329467773437500000 

Mais je veux qu'il soit coupé ou rond comme ceci: -

3.84 
+0

En fait, c'est un plafond: P – Shagglez

+0

@Shagglez: Quoi? – Jango

Répondre

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 ... (PLAFOND)
  • -> 384,00 (décimal 18, 2)
  • -> 3,84 (/ 100)
Questions connexes