将小写金额转换为中文大写的SQL函数

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

CREATEFUNCTION[dbo].[f_num_chn](@numnumeric(14,2))
RETURNSvarchar(100)WITHENCRYPTION
AS
BEGIN
--版权所有:pb SQL
 DECLARE@n_dataVARCHAR(20),@c_dataVARCHAR(100),@n_strVARCHAR(10),@iint

 SET@n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100)ASbigint)ASvarchar(20)),14)
 SET@c_data=''
 SET@i=1
 WHILE@i<=14
 BEGIN
   SET@n_str=SUBSTRING(@n_data,@i,1)
   IF@n_str<>''
   BEGIN
     IFnot((SUBSTRING(@n_data,@i,2)='00')or
       ((@n_str='0')and((@i=4)or(@i=8)or(@i=12)or(@i=14))))
       SET@c_data=@c_data+SUBSTRING('零壹贰叁肆伍陆柒捌玖',CAST(@n_strASint)+1,1)
     IFnot((@n_str='0')and(@i<>4)and(@i<>8)and(@i<>12))
       SET@c_data=@c_data+SUBSTRING('仟佰拾亿仟佰拾万仟佰拾圆角分',@i,1)
     IFSUBSTRING(@c_data,LEN(@c_data)-1,2)='亿万'
       SET@c_data=SUBSTRING(@c_data,1,LEN(@c_data)-1)
   END
   SET@i=@i+1
 END
 IF@num<0
   SET@c_data='(负数)'+@c_data
 IF@num=0
   SET@c_data='零圆'
 IF@n_str='0'
   SET@c_data=@c_data+'整'
 RETURN(@c_data)
END


<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值