数字金额大小写转换之存储过程
日期:2007年5月21日 作者: 查看:[大字体 中字体 小字体]-
CREATE Procedure MoneytoChinese22 --阿拉伯数字金额转换为中文大写
@ChangeMoney Money ,@ReturnDaXie varchar(50) output
as
Set Nocount ON
Declare @String1 char(20)
Declare @String2 char(30)
Declare @String4 Varchar(100)
Declare @String3 Varchar(100) --从原A值中取出的值
Declare @i bigint --循环变量
Declare @J bigint --A的值乘以100的字符串长度
Declare @Ch1 Varchar(100) --数字的汉语读法
Declare @Ch2 Varchar(100) --数字位的汉字读法
Declare @Zero bigint --用来计算连续有几个零
Declare @ReturnValue VarChar(100)Select @ReturnValue = ''
Select @String1 = '零壹贰叁肆伍陆柒捌玖'
Select @String2 = '万仟佰拾亿仟佰拾万仟佰拾元角分'Select @String4 = Cast(@ChangeMoney*100 as bigint)
select @J=len(cast((@ChangeMoney*100) as bigint))
Select @String2=Right(@String2,@J)
Select @i = 1
while @i<= @j Begin
Select @String3 = Substring(@String4,@i,1)
if @String3<>'0' Begin
Select @Ch1 = Substring(@String1, Cast(@String3 as bigint) + 1, 1)
Select @Ch2 = Substring(@String2, @i, 1)
Select @Zero = 0 --表示本位不为零
end
else Begin
If (@Zero = 0) Or (@i = @J - 9) Or (@i = @J - 5) Or (@i = @J - 1)
Select @Ch1 = '零'
Else
Select @Ch1 = ''Select @Zero = @Zero + 1 --表示本位为0
--如果转换的数值需要扩大,那么需改动以下表达式 I 的值。
If @i = @J - 10 Begin
Select @Ch2 = '亿'
Select @Zero = 0
endIf @i = @J - 6 Begin
Select @Ch2 = '万'
Select @Zero = 0
endif @i = @J - 2 Begin
Select @Ch2 = '元'
Select @Zero = 0
endIf @i = @J
Select @Ch2 = '整'end
Select @ReturnValue = @ReturnValue + @Ch1 + @Ch2
select @i = @i+1
end--最后将多余的零去掉
If CharIndex('仟仟',@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, '仟仟', '仟')If CharIndex('佰佰',@ReturnValue) <> 0
- [1] [2] 下一页
-
- 数字金额大小写转换之存储过程 相关文章:
- 数字金额大小写转换之存储过程 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·MySQL中文参考手册5(安装MySQL上)
- ·MySQL数据库学习手册之MySQL客户工具和API
- ·改进的socket控件
- ·认识VF--Visual FoxPro 漫谈
- ·SQLSERVER中,数据库同步的实现
- ·用于 SELECT 和 WHERE 子句的函数
- ·ORACLE之常用FAQ V1.0
- ·一道褒贬不一的SQL考试题
- ·精妙SQL语句收集
- ·数据库连接字符串大全
- ·IIS5 ISAPI Extension Back Door
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·如何删除数据库中的冗余数据(翻译)
- ·实用的存储过程之一
- ·SQL2000 数据库安装说明
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·MySQL语言参考(4):数据操纵
- ·DM分区软件使用详解
- ·Delphi程序执行时实时生成报表
- ·SQL Server 练习题
特别推荐
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
- ·DM分区软件使用详解
- ·对ADSL接入方式铜缆可用线对率分析
- ·收集的host文件网站黑名单
- ·修复SQL Server 2000数据库之实战经验
- ·实用的存储过程之一
- ·IIS5 ISAPI Extension Back Door
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·Sql server 如何得到汉字的声母
- ·数据库物理设计经验谈
- ·SQLPLUS命令的使用大全
- ·通过ISA代理SQLServer配置说明
