当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 小写转大写金额

MSSQL
实现按部门月卡余额总额分组统计的SQL查询代码
浅议Oracle中的进制转换
sqlserver MSDTC的设置要点
小议主子表INT自增主键插入记录的方法
使用SQLSERVER的扩展存储过程实现远程备份与恢复
SQL安装问题总结
使用XML封装数据库操作语句的实现
SQL Server与Excel数据互导
查询sql遇到deadlock问题的解决
解决sqlsever日志备份错误的方法
关于sql数据库维护失败的问题查找方法
跟日期有关的两条经典SQL语句
使用链接服务器执行远程数据库上的存储过程
select用存储过程返回的表
SQL SERVER与ACCESS、EXCEL的数据转换
榨干MS SQL Server 最后一滴血
SQL Server 2005: 利用新的ranking函数实现高效的数据分页操作
在SQL Server 中使用SQLDMO
SQL Server补丁版本的检查和安装过程中常见问题
SQL高手篇:精妙SQL语句介绍

MSSQL 中的 小写转大写金额


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 115 ::
收藏到网摘: n/a

  原作在SQL 2000中有一些问题。修正错误并在SQL 2000中运行通过。

/********************************************************
作者:([email protected])
版本:1.0
创建时间:20020227
修改时间:
功能:小写金额转换成大写
参数:n_LowerMoney 小写金额
          v_TransType 种类 -- 1: directly translate, 0: read it in words 
输出:大写金额
********************************************************/
CREATE PROCEDURE dbo.L2U 
(
@n_LowerMoney numeric(15,2),
@v_TransType int,
@RET VARCHAR(200) output
)
 AS 
  
Declare @v_LowerStr VARCHAR(200) -- 小写金额 
Declare @v_UpperPart VARCHAR(200) 
Declare @v_UpperStr VARCHAR(200) -- 大写金额
Declare @i_I int

set nocount on

select @v_LowerStr = LTRIM(RTRIM(STR(@n_LowerMoney,20,2))) --四舍五入为指定的精度并删除数据左右空格

select @i_I = 1
select @v_UpperStr = ''

while ( @i_I <= len(@v_LowerStr))
begin
      select @v_UpperPart = case substring(@v_LowerStr,len(@v_LowerStr) - @i_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
                &n