日期:2014-05-17  浏览次数:20551 次

ReportService 函数
ReportService 中有没有将人民币数值类型(123.45)转换成大写的(如:壹佰贰拾弎圆肆角伍分),没有的话,怎么自定义一个函数,然后调用...
------解决方案--------------------
参考
http://blog.163.com/ufsoftwhy@126/blog/static/40781436200852692221709/
------解决方案--------------------
来源:【叶子函数分享二十】将整型数字转换为大写汉字
go
 --创建函数(该函数来自csdn,作者不详)
 create function [dbo].[m_NumToChinese](@num bigint)
 returns varchar(20)
 as
 begin
   declare @result varchar(20),@symbol varchar(2)
   if @num<0
     select @symbol='负',@result='',@num=abs(@num)
   else
     select @symbol='',@result=''
   while @num<>0
     select @result=substring('零壹贰叁肆伍陆柒捌玖拾',@num%10+1,1)+@result,@num=@num/10
   return @symbol+@result
 end
  
 --测试示例
 select dbo.[m_NumToChinese](12345678)
  
 --运行结果
 /*
 壹贰叁肆伍陆柒捌
 */