用sql语句如何实现小数位数四舍六入,小数位数是五的不变? 用sql语句如何实现小数位数四舍六入,小数位数是五的不变?晕乎乎的,焦急 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select cast(Round(12.2312321,5) as decimal(12,5))---------------------------------------12.23123 declare @dec dec(18,2)set @dec = 4.5select case (@dec - cast(cast(@dec as int) as dec)) when 0.5 then @decelse round(@dec,0) end select cast(Round(12.2312321,5) as decimal(12,5))是小数的值为0.5?还是 --數字declare @d decimal(16,8)--小數點后保留位數declare @p intset @d = 12.375set @p = 3select case substring(ltrim(convert(varchar, round(@d,@p)-@d)),@p+3,1) when '5' then round(@d,@p+1)else round(@d,@p)end create function f_RoundEx(@Value float, @Digit int)returns floatas begin declare @Factor float, @result float set @Factor=power(10,@Digit) if @Value < 0 set @result= floor(@Value*@Factor - 0.4)/ @Factor else set @result = floor(@Value * @Factor + 0.4)/ @Factor return @resultendgoselect dbo.f_RoundEx(1.244, 2) , dbo.f_RoundEx(1.245, 2) , dbo.f_RoundEx(1.246, 2)drop function dbo.f_RoundEx/*1.24 1.24 1.25*/ select cast(数字-0.1 as dec(18,0)) 这个写SQL 再问个关于SQL2000安全设置的问题,有关'xp_cmdshell'的~~~ 有些难,这样的SUM()怎样写? 触发器:多条记录更新时不能处理的问题 到底是哪里出了问题? SQL Server 能这样分组吗 好久没来了(因为网络问题),今天能上网了就马上来问问这个问题了!请看看啊! sql 性能优化 一个SQL的基础问题 group by 加序号 为什么我将表删除了,数据库文件还是这么大? 求一SQL?
12.23123
declare @dec dec(18,2)
set @dec = 4.5select case (@dec - cast(cast(@dec as int) as dec)) when 0.5 then @dec
else round(@dec,0) end
是小数的值为0.5?还是
--數字
declare @d decimal(16,8)
--小數點后保留位數
declare @p intset @d = 12.375
set @p = 3
select case substring(ltrim(convert(varchar, round(@d,@p)-@d)),@p+3,1) when '5' then round(@d,@p+1)
else round(@d,@p)
end
returns float
as
begin
declare @Factor float, @result float
set @Factor=power(10,@Digit)
if @Value < 0
set @result= floor(@Value*@Factor - 0.4)/ @Factor
else
set @result = floor(@Value * @Factor + 0.4)/ @Factor
return @result
end
goselect dbo.f_RoundEx(1.244, 2)
, dbo.f_RoundEx(1.245, 2)
, dbo.f_RoundEx(1.246, 2)drop function dbo.f_RoundEx
/*
1.24 1.24 1.25
*/
select cast(数字-0.1 as dec(18,0))