sql语句问题 怎样让查询结果显示保留小数一位

时间:2022-06-03 01:02:38
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 这句得出的始终是四舍五入后的整数,哪位大虾能告知在下,如何能得到保留小数一位的办法(含小数点),拜一拜

18 个解决方案

#1


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

#2


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

#3


谁有办法,帮帮忙

#4


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

#5


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

#6


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

#7


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

#8


谢谢大家帮帮忙

#9


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

#10


能不能指点下怎么加

#11


select round(2536.691,1)-第二個參數指定保留几個小數位
-----------------------
2536.700

應該可以了吧

#12


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

#13


SELECT Round(SizeInByte/1024,1) AS SizeInMB FROM Table

在查询分析器里面显示的小数点位数不是1,但是在Grid中,就只有1位了

#14


round(表达式,1)

#15


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

#16


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

#17


该回复被版主删除

#18


自己解决了,用CAST

#1


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

#2


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

#3


谁有办法,帮帮忙

#4


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

#5


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

#6


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

#7


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

#8


谢谢大家帮帮忙

#9


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

#10


能不能指点下怎么加

#11


select round(2536.691,1)-第二個參數指定保留几個小數位
-----------------------
2536.700

應該可以了吧

#12


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

#13


SELECT Round(SizeInByte/1024,1) AS SizeInMB FROM Table

在查询分析器里面显示的小数点位数不是1,但是在Grid中,就只有1位了

#14


round(表达式,1)

#15


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

#16


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

#17


该回复被版主删除

#18


自己解决了,用CAST