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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。