数据库函数--将小写金额转换为中文大写

 CREATE       FUNCTION       [dbo].[f_num_chn]       (@num       numeric(14,2))      
    RETURNS       varchar(100)       WITH       ENCRYPTION      
    AS      
    BEGIN      
    --版权所有:csli888      
            DECLARE       @n_data       VARCHAR(20),@c_data       VARCHAR(100),@n_str       VARCHAR(10),@i       int      
       
            SET       @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100)       AS       bigint)       AS       varchar(20)),14)      
            SET       @c_data= ' '      
            SET       @i=1      
            WHILE       @i <=14      
            BEGIN      
                    SET       @n_str=SUBSTRING(@n_data,@i,1)      
                    IF       @n_str <> '       '      
                    BEGIN      
                            IF       not       ((SUBSTRING(@n_data,@i,2)= '00 ')       or      
                                    ((@n_str= '0 ')       and       ((@i=4)       or       (@i=8)       or       (@i=12)       or       (@i=14))))      
                                    SET       @c_data=@c_data+SUBSTRING( '零壹贰叁肆伍陆柒捌玖 ',CAST(@n_str       AS       int)+1,1)      
                            IF       not       ((@n_str= '0 ')       and       (@i <> 4)       and       (@i <> 8)       and       (@i <> 12))      
                                    SET       @c_data=@c_data+SUBSTRING( '仟佰拾亿仟佰拾万仟佰拾圆角分 ',@i,1)      
                            IF       SUBSTRING(@c_data,LEN(@c_data)-1,2)= '亿万 '      
                                    SET       @c_data=SUBSTRING(@c_data,1,LEN(@c_data)-1)      
                    END      
                    SET       @i=@i+1      
            END      
            IF       @num <0      
                    SET       @c_data= '(负数) '+@c_data      
            IF       @num=0      
                    SET       @c_data= '零圆 '      
            IF       @n_str= '0 '      
                    SET       @c_data=@c_data+ '整 '      
            RETURN(@c_data)      
    END      


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部