加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

人民币小写转换为大写(SQLSERVER FUNCTION

发布时间:2020-12-12 15:51:52 所属栏目:MsSql教程 来源:网络整理
导读:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[hldFn_MoneyConvert]') and xtype in (N'FN',N'IF',N'TF'))drop function [dbo].[hldFn_MoneyConvert]GOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO??-----? select aaa= dbo.bs
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[hldFn_MoneyConvert]') and xtype in (N'FN',N'IF',N'TF'))drop function [dbo].[hldFn_MoneyConvert]GOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO??-----? select aaa= dbo.bsmFn_MoneyConvert(108989)-----? select aaa= dbo.bsmFn_MoneyConvert(1001)CREATE????? function? hldFn_MoneyConvert(? @money? money)returns varchar(200)asbegin??? declare? @currDigital varchar(100),@result varchar(200)?? declare? @Digital int??? select @Digital = convert(int,@money ) ---- 注意数据范围?? set? @Digital =? @Digital /100?? ---- 注意数据范围??? select @currDigital = convert(varchar(100),@Digital )?? SELECT @currDigital = REPLACE(@currDigital,'0','零')?? SELECT @currDigital = REPLACE(@currDigital,'1','壹')?? SELECT @currDigital = REPLACE(@currDigital,'2','贰')?? SELECT @currDigital = REPLACE(@currDigital,'3','叁')?? SELECT @currDigital = REPLACE(@currDigital,'4','肆')?? SELECT @currDigital = REPLACE(@currDigital,'5','伍')?? SELECT @currDigital = REPLACE(@currDigital,'6','陆')?? SELECT @currDigital = REPLACE(@currDigital,'7','柒')?? SELECT @currDigital = REPLACE(@currDigital,'8','捌')?? SELECT @currDigital = REPLACE(@currDigital,'9','玖')???? ---- select currDigital=@currDigital?? --- 添如数字 仟 佰 万拾 圆 整?? SELECT @Result =?? CASE Len(@currDigital)????? WHEN 1 THEN? right(@currDigital,1)+'圆'????? WHEN 2 THEN? Left(@currDigital,1)+'拾'+ right(@currDigital,1)+'圆'????? WHEN 3 THEN? Left(@currDigital,1)+'佰'+substring(@currDigital,2,1)+'圆'????? WHEN 4 THEN? Left(@currDigital,1)+'仟'+?????????????????? substring(@currDigital,1)+'佰'+?????????????????? substring(@currDigital,3,1)+'圆'???? WHEN 5 THEN? Left(@currDigital,1)+'万'+?????????????????? substring(@currDigital,4,1)+'圆'????? WHEN 6 THEN?? Left(@currDigital,1)+'拾'+?????????????????? substring(@currDigital,5,1)+'圆'????? WHEN 7 THEN? Left(@currDigital,6,1)+'圆'????? WHEN 8 THEN? Left(@currDigital,7,1)+'圆'??? ELSE '0'? END? declare? @ret varchar(100)? set @ret=@result? set? @Digital = convert(int,@money)? select @Digital = convert(int,@Digital %100 ) ---- 注意数据范围? select @currDigital = convert(varchar(100),'玖')? SELECT @Result =?CASE Len(@currDigital)??? WHEN 1 THEN? right(@currDigital,1)+'分'??? WHEN 2 THEN? Left(@currDigital,1)+'角'+ right(@currDigital,1)+'分'?End?? ??select @result= REPLACE(@result,'拾零','拾')?if CHARINDEX('角',@result)=0?set @result='零角'+@result?set @result=@ret+@result+'整'return @resultend???GOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGO

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读