SELECT A.COMID,A.DISTRICT AS TITLE,case round((A.COMID*10000)/(B.PERSUM),-2)/100 when 0 then 1 else round((A.COMID*10000)/(B.PERSUM),-2)/100 end AS PERSUM,
 A.FEE FROM (SELECT COUNT(DISTINCT A.COMID) AS COMID, A.DISTRICT,SUM(B.FEE) AS FEE FROM COMUNION_OLD A LEFT OUTER JOIN UNION_FEE_OLD B ON A.COMID = B.COMID WHERE 1=1 
sql语句如上:
问题是round((A.COMID*10000)/(B.PERSUM),-2)/100 这句得出的始终是四舍五入后的整数,哪位大虾能告知在下,如何能得到保留小数一位的办法(含小数点),拜一拜

解决方案 »

  1.   

    sql server 有个函数的  但是我记不清楚的
    你去查帮助就ok了
      

  2.   

    MS SQL有這樣的函數嗎﹐我不知道呀﹐好象沒有吧
      

  3.   

    format('0.0',round((A.COMID*10000)/(B.PERSUM),-2)/100)
      

  4.   

    'format' 不是可以识别的 函数名。T-T
      

  5.   

    用這個吧:
     var
        bb:string;
    begin
        bb:=FormatFloat('0.0',14/3);
        showmessage(bb);
    end;
      

  6.   

    我要在dbgrid内显示出来,不是要一个string,所以我想只能在SQL语句内解决这个问题
      

  7.   

    你把它加到你的SQL語句裡就好可以了
      

  8.   

    select round(2536.691,1)-第二個參數指定保留几個小數位
    -----------------------
    2536.700應該可以了吧
      

  9.   

    在dbgrid中显示的话,只要设置adoquery的displayformat属性为0.0就OK了
      

  10.   

    SELECT Round(SizeInByte/1024,1) AS SizeInMB FROM Table在查询分析器里面显示的小数点位数不是1,但是在Grid中,就只有1位了
      

  11.   

    round虽然指定四舍五入到某位,但是剩余的会以0填充,也不太合适.
      

  12.   

    round(表达式,1)还是显示整数,郁闷