SQL金额转大写
2020-02-02 10:28
1336 查看
create function [dbo].[fn_getformatmoney] (@money numeric(14,2)) returns nvarchar(32) as begin declare @money_num nvarchar(20) --存储金额的字符形式 , @money_chn nvarchar(32) --存储金额的中文大写形式 , @n_chn nvarchar(1), @i int --临时变量 select @money_chn=case when @money>=0 then '' else null end , @money=abs(@money) , @money_num=stuff(str(@money, 15, 2), 13, 1, '') --加前置空格补齐到位(去掉小数点) , @i=patindex('%[1-9]%', @money_num) --找到金额最高位 while @i>=1 and @i<=14 begin set @n_chn=substring(@money_num, @i, 1) if @n_chn<>'0' or (substring(@money_num,@i+1,1)<>'0' and @i not in(4, 8, 12, 14)) --转换阿拉伯数字为中文大写形式 set @money_chn=@money_chn+substring('零壹贰叁肆伍陆柒捌玖', @n_chn+1, 1) if @n_chn<>'0' or @i in(4, 8, 12) --添加中文单位 set @money_chn=@money_chn+substring('仟佰拾亿仟佰拾万仟佰拾圆角分',@i,1) set @i=@i+1 end set @money_chn=replace(@money_chn, '亿万', '亿') --当金额为x亿零万时去掉万 if @money=0 set @money_chn='零圆整' --当金额为零时返回'零圆整' if @n_chn='0' set @money_chn=@money_chn+'整' --当金额末尾为零分时以'整'结尾 return @money_chn --返回大写金额 end go
--select dbo.fn_getformatmoney(888.88)
转载于:https://www.cnblogs.com/lydg/p/11486947.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- SQL小写金额换大写金额
- (转)人民币小写金额转大写(SQL)
- 金额大写转小写SQL(未测试)
- ORACLE SQL 金额从小写到大写的转换
- 把货币金额转换成大写的SQL自定义函数(SQL Server版)
- SBO小写金额转换中文大写SQL
- SQL人民币小写金额转大写
- SQL金额转大写
- pl/sql实现金额转换为大写
- SQL金额小写转大写
- PL/SQL 小写金额转化成大写(汉字)
- 使用SQL创建把数字转换成大写金额
- SQL 小写转大写金额
- SQL 小写金额转换成大写
- 【SQL】Oracle实现小写金额转换成大写的方法
- C++ Practise4:大写金额转换
- iOS-金额小写转大写
- js 转换大写金额
- 小写金额转换大写金额
- 1 金额转化(中文大写转化为数字)(郭勇延)