`

转:SQL Server:将阿拉伯数字的货币形式转换成大写的货币形式

阅读更多

转载链接未知。

以下为转载内容:

--该方法用来将阿拉伯数字的货币形式转换成大写的货币形式
--测试:select dbo.toUppercaseRMB(12131415.21);结果:壹仟贰佰壹拾叁万壹仟肆佰壹拾伍元贰角壹分整

CREATE function [dbo].[toUppercaseRMB] ( @LowerMoney decimal(18,4))
returns varchar(200) 
as    
begin    
   declare @lowerStr varchar(200)    
   declare @UpperStr varchar(200)    
   declare @UpperPart varchar(200)     --长度    
   declare @i int     
       
   set @lowerStr=ltrim(rtrim(convert(decimal(18,2),round(@LowerMoney,2))))    
   set @i=1    
   set @UpperStr=''    
       
   while(@i<=len(@lowerStr))    
   begin    
		select @UpperPart=
		case substring(@lowerStr,len(@lowerStr)-@i+1,1)--取最后一位数
			when  '.' then '元'    
			when  '0' then '零'    
			when  '1' then '壹'    
			when  '2' then '贰'    
			when  '3' then '叁'    
			when  '4' then '肆'    
			when  '5' then '伍'    
			when  '6' then '陆'    
			when  '7' then '柒'    
			when  '8' then '捌'    
			when  '9' then '玖'    
		end    
        +    
		case @i     
			when 1 then  '分'    
			when 2 then  '角'    
			when 3 then  ''    
			when 4 then  ''    
			when 5 then  '拾'    
			when 6 then  '佰'    
			when 7 then  '仟'    
			when 8 then  '万'    
			when 9 then  '拾'    
			when 10 then '佰'    
			when 11 then '仟'    
			when 12 then '亿'    
			when 13 then '拾'    
			when 14 then '佰'    
			when 15 then '仟'    
			when 16 then '万'    
			else ''    
		end    
		set @UpperStr=@UpperPart+@UpperStr    
		set @i=@i+1    
	end     
	set @UpperStr = REPLACE(@UpperStr,'零拾','零')     
	set @UpperStr = REPLACE(@UpperStr,'零佰','零')     
	set @UpperStr = REPLACE(@UpperStr,'零仟零佰零拾','零')     
	set @UpperStr  = REPLACE(@UpperStr,'零仟','零')    
	set @UpperStr = REPLACE(@UpperStr,'零零零','零')    
	set @UpperStr = REPLACE(@UpperStr,'零零','零')    
	set @UpperStr = REPLACE(@UpperStr,'零角零分','')    
	set @UpperStr = REPLACE(@UpperStr,'零分','')    
	set @UpperStr = REPLACE(@UpperStr,'零角','零')    
	set @UpperStr = REPLACE(@UpperStr,'零亿零万零元','亿元')    
	set @UpperStr = REPLACE(@UpperStr,'亿零万零元','亿元')    
	set @UpperStr = REPLACE(@UpperStr,'零亿零万','亿')    
	set @UpperStr = REPLACE(@UpperStr,'零万零元','万元')    
	set @UpperStr = REPLACE(@UpperStr,'万零元','万元')    
	set @UpperStr = REPLACE(@UpperStr,'零亿','亿')    
	set @UpperStr = REPLACE(@UpperStr,'零万','万')    
	set @UpperStr = REPLACE(@UpperStr,'零元','元')    
	set @UpperStr = REPLACE(@UpperStr,'零零','零')    
	if left(@UpperStr,1)='元'    
		set @UpperStr = REPLACE(@UpperStr,'元','零元')    

  return @UpperStr+'整'    
end

 

分享到:
评论

相关推荐

    sql server阿拉伯数字转大写中文存储过程

    SQL Server 是一个功能强大且广泛应用的关系数据库管理系统,而阿拉伯数字转大写中文是一个常见的需求,例如,在财务报表、发票printing等应用场景中,需要将阿拉伯数字转换为大写中文以满足特定的格式要求。本文将...

    阿拉伯数字转换成中文.sql

    阿拉伯数字转换成中文数字, 例如: 10转换成十,111转换成一百一十一 最高支持的数字单位亿, 再大的话可能需要自己修改

    阿拉伯数字金额转换为大写数字金额

    在IT行业中,尤其是在财务软件开发或者银行系统设计中,经常需要将阿拉伯数字金额转换成大写数字金额,以便于核对、防止错误和提高安全性。这是因为大写数字在视觉上与阿拉伯数字有所区别,可以降低欺诈风险。本例子...

    mysql转化成sql server sql转化成mysql工具

    2. 转换规则应用:根据SQL Server的语法特性,工具会将MySQL的SQL语句转化为相应的SQL Server语法。 3. 数据导出:将MySQL中的数据导出为SQL脚本,或者直接导入到SQL Server中。 4. 验证与调整:迁移后,需要验证...

    SQL关键字转成大写工具

    标题"SQL关键字转成大写工具"所描述的就是这样一个实用程序,它能够方便地将SQL语句中的关键字转换为大写。这个工具主要适用于使用Microsoft SQL Server (MSSQL)的开发者和管理员,它可以通过MSSQL的"工具"菜单下的...

    sqlserver自动生成sql语句工具sqlserver转oracle

    在压缩包子文件的文件名"ms转sql语句.exe"中,我们可以推测这可能是一个用于将SQL Server语句转换为Oracle兼容格式的可执行程序。这样的工具通常会提供用户友好的界面,让用户导入SQL Server的数据库元数据,然后...

    sqlserver驱动包:sqljdbc4.jar

    SQL Server驱动包`sqljdbc4.jar`是微软官方提供的Java数据库连接器(JDBC),用于在Java应用程序中与Microsoft SQL Server进行通信。JDBC是Java编程语言中的一个标准API,它使得开发人员能够以标准化的方式访问各种...

    SQL Server 2005 ETL 专家系列

    SQL Server 2005 ETL专家系列之一:SQL Server DTS的前世今生 SQL Server 2005 ETL专家系列之二:SQL Server 2005 Integration Service的基本任务 SQL Server 2005 ETL专家系列之三:SQL Server 2005 Integration ...

    json转换为SQL server建表脚本

    在开发过程中,有时我们需要将JSON数据转化为SQL Server的建表脚本,以便在数据库中创建相应的表结构来存储这些数据。 标题"json转换为SQL server建表脚本"涉及到的主要知识点包括: 1. JSON解析:首先,你需要...

    运行项目,Maven(com.microsoft.sqlserver:sqljdbc4:4.0 )报错

    Jar包:sqljdbc4-4.0.jar

    mysql 函数,可以将数字转换为中文大写形式

    mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

    sqlserver金额转大写汉字的函数

    该函数用于将金额转成汉字大写,例如57.91500转换成伍拾柒元玖角贰分整

    SQL Server 2005 ETL专家系列之一:SQL Server DTS的前世今生

    SQL Server 2005 ETL专家系列之一:SQL Server ...本单元将介绍ETL在企业数据管理工作的重要性,同时我们将简单回顾SQL Server 2000的DTS服务,并介绍SQL Server 2005 Integration Service的基本架构以及其基本功能。

    SQL Server 2008抢先看系列:SQL Server 2008 T-SQL新特性

    SQL Server 2008抢先看系列:SQL Server 2008 T-SQL新特性,介绍sql server 2008 的一些新的特性。

    SQL Server 2008抢先看系列:SQL Server可管理性

    SQL Server 2008抢先看系列:SQL Server可管理性

    Sql语法转换为Oracle语法

    这个单元文件很可能是整个程序的主体部分,负责接收SQL Server的SQL语句,解析并转换成Oracle兼容的语法。 以下是具体的SQL语法转换的一些关键点: 1. 数据库对象命名:在SQL Server中,表和列名通常用方括号包围...

    Web应用安全:Sqlserver盲注.pptx

    攻击者可以通过显式或隐式转换来触发数据库错误,例如使用`CAST()`或`CONVERT()`函数将非数字值转换为整数,从而导致错误并获取信息。 5. **基于时间的Sqlserver盲注** Sqlserver中没有MySQL的`SLEEP()`函数,但...

    sql server 2008数据库转sql server 2005数据库

    "sql server 2008数据库转sql server 2005数据库" 本文将详细介绍四种将 SQL Server 2008 数据库转换为 SQL Server 2005 数据库的方法。这些方法都是通过实践和总结得出的,旨在帮助读者快速、可靠地将 SQL Server ...

    SQL Server 2008抢先看系列:SQL Server 2008的商务智能平台概述

    SQL Server 2008抢先看系列:SQL Server 2008的商务智能平台概述

    mysql转换为sqlserver

    MySQL到SQL Server的转换是一个常见的数据库迁移任务,尤其在企业级应用中,可能因为业务需求、性能优化或统一管理等原因需要进行这样的迁移。这个过程涉及多个步骤,包括数据的导出、格式转换以及导入到新的SQL ...

Global site tag (gtag.js) - Google Analytics