首页 > 数据库技术 > 详细

sql奇进偶舍函数

时间:2016-05-01 17:27:46      阅读:338      评论:0      收藏:0      [点我收藏+]
 create   function   sslr(@num   numeric(20,10),@i   int) 
--@i保留的小数位 
--@num传入的数据 
returns   varchar(20) 
as 
begin 
declare   @numtemp   numeric(20,10),@result   varchar(20) 
set   @numtemp=abs(@num)*power(10,@i+1) 
select   @numtemp=(case   when   floor(@numtemp)-floor(@numtemp/10)*10=5 
                                            then   (case   when   @numtemp-floor(@numtemp)=0 
                                                                  then   (case   when   cast(floor(@numtemp/10)   as   int)%2=0 
                                                                                        then   floor(@numtemp/10)/power(10,@i) 
                                                                                        else   round(@numtemp/power(10,@i+1),@i) 
                                                                                          end) 
                                                                  else   round(@numtemp/power(10,@i+1),@i) 
                                                                  end) 
                                              else   round(@numtemp/power(10,@i+1),@i) 
                                              end) 
set   @result=(case   when   @num> 0   then   str(@numtemp,20,@i)   else   str(0-@numtemp,20,@i)   end) 
return   @result 
end

sql奇进偶舍函数

原文:http://www.cnblogs.com/zjbky/p/5450738.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!