当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 金额阿拉伯数字转换为中文的自定义函数

MSSQL
SQL Server数据库技术(36)
SQL Server数据库技术(37)
SQL Server数据库技术(41)
SQL Server数据库技术(42)
SQL Server数据库技术(43)
SQL Server数据库技术(44)
SQL Server数据库技术(45)
SQL Server数据库技术(46)
SQL Server数据库技术(47)
SQL Server数据库技术(48)
SQL Server数据库技术(49)
SQL Server数据库技术(50)
SQL Server数据库技术(51)
SQL Server数据库技术(53)
SQL Server数据库技术(54)
SQL Server数据库技术(55)
SQL Server数据库技术(56)
SQL Server数据库技术(57)
SQL Server数据库技术(58)
SQL Server数据库技术(59)

MSSQL 中的 金额阿拉伯数字转换为中文的自定义函数


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

  CREATE FUNCTION ChangeBigSmall
(@ChangeMoney money)  
RETURNS VarChar(100) AS  

BEGIN
    Declare    @String1    char(20)
    Declare    @String2    char(30)
    Declare    @String4    Varchar(100)
    Declare @String3     Varchar(100)    --从原A值中取出的值
    Declare @i         int        --循环变量
    Declare @J         Int        --A的值乘以100的字符串长度
    Declare @Ch1         Varchar(100)    --数字的汉语读法
    Declare @Ch2         Varchar(100)    --数字位的汉字读法
    Declare @Zero         Int        --用来计算连续有几个零
    Declare    @ReturnValue    VarChar(100)

    Select  @ReturnValue = ''
    Select     @String1 = '零壹贰叁肆伍陆柒捌玖'
    Select    @String2 = '万仟佰拾亿仟佰拾万仟佰拾元角分'

    Select @String4 = Cast(@ChangeMoney*100 as int)    

    select @J=len(cast((@ChangeMoney*100) as int))

    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 Int) + 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 的值。
&nb