微立顶科技

新闻资讯

创新 服务 价值

  SQL Server将阿拉伯数字转换成大写货币格式

发布日期:2021/12/16 6:36:09      浏览量:

--该方法用来将阿拉伯数字的货币形式转换成大写的货币形式
--测试:select dbo.toUppercaseRMB(12131415.21);结果:壹仟贰佰壹拾叁万壹仟肆佰壹拾伍元贰角壹分整
 
CREATE function [dbo].[toUppercaseRMB] ( @LowerMoney decimal(18,4))
returns varchar(200) 
as    
begin    
   declare @lowerStr varchar(200)    
   declare @UpperStr varchar(200)    
   declare @UpperPart varchar(200)     --长度    
   declare @i int     
       
   set @lowerStr=ltrim(rtrim(convert(decimal(18,2),round(@LowerMoney,2))))    
   set @i=1    
   set @UpperStr=’’    
       
   while(@i<=len(@lowerStr))    
   begin    
select @UpperPart=
case substring(@lowerStr,len(@lowerStr)-@i+1,1)--取最后一位数
when  ’.’ then ’元’    
when  ’0’ then ’零’    
when  ’1’ then ’壹’    
when  ’2’ then ’贰’    
when  ’3’ then ’叁’    
when  ’4’ then ’肆’    
when  ’5’ then ’伍’    
when  ’6’ then ’陆’    
when  ’7’ then ’柒’    
when  ’8’ then ’捌’    
when  ’9’ then ’玖’    
end    
        +    
case @i     
when 1 then  ’分’    
when 2 then  ’角’    
when 3 then  ’’    
when 4 then  ’’    
when 5 then  ’拾’    
when 6 then  ’佰’    
when 7 then  ’仟’    
when 8 then  ’万’    
when 9 then  ’拾’    
when 10 then ’佰’    
when 11 then ’仟’    
when 12 then ’亿’    
when 13 then ’拾’    
when 14 then ’佰’    
when 15 then ’仟’    
when 16 then ’万’    
else ’’    
end    
set @UpperStr=@UpperPart+@UpperStr    
set @i=@i+1    
end     
set @UpperStr = REPLACE(@UpperStr,’零拾’,’零’)     
set @UpperStr = REPLACE(@UpperStr,’零佰’,’零’)     
set @UpperStr = REPLACE(@UpperStr,’零仟零佰零拾’,’零’)     
set @UpperStr  = REPLACE(@UpperStr,’零仟’,’零’)    
set @UpperStr = REPLACE(@UpperStr,’零零零’,’零’)    
set @UpperStr = REPLACE(@UpperStr,’零零’,’零’)    
set @UpperStr = REPLACE(@UpperStr,’零角零分’,’’)    
set @UpperStr = REPLACE(@UpperStr,’零分’,’’)    
set @UpperStr = REPLACE(@UpperStr,’零角’,’零’)    
set @UpperStr = REPLACE(@UpperStr,’零亿零万零元’,’亿元’)    
set @UpperStr = REPLACE(@UpperStr,’亿零万零元’,’亿元’)    
set @UpperStr = REPLACE(@UpperStr,’零亿零万’,’亿’)    
set @UpperStr = REPLACE(@UpperStr,’零万零元’,’万元’)    
set @UpperStr = REPLACE(@UpperStr,’万零元’,’万元’)    
set @UpperStr = REPLACE(@UpperStr,’零亿’,’亿’)    
set @UpperStr = REPLACE(@UpperStr,’零万’,’万’)    
set @UpperStr = REPLACE(@UpperStr,’零元’,’元’)    
set @UpperStr = REPLACE(@UpperStr,’零零’,’零’)    
if left(@UpperStr,1)=’元’    
set @UpperStr = REPLACE(@UpperStr,’元’,’零元’)    
 
  return @UpperStr+’整’    
end


  业务实施流程

需求调研 →

团队组建和动员 →

数据初始化 →

调试完善 →

解决方案和选型 →

硬件网络部署 →

系统部署试运行 →

系统正式上线 →

合作协议

系统开发/整合

制作文档和员工培训

售后服务

马上咨询: 如果您有业务方面的问题或者需求,欢迎您咨询!我们带来的不仅仅是技术,还有行业经验积累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     联系人:石先生/雷先生