在MSSQL中将数字转换成中文

具体代码如下:

CREATE FUNCTION [dbo].[fn_NumberToChinese] (@number INT)
RETURNS VARCHAR(20)
AS
    BEGIN
        DECLARE @res VARCHAR(20);
        DECLARE @str VARCHAR(10);
        DECLARE @char CHAR(1);
        SET @res = ‘‘;
        SET @str = CAST(@number AS VARCHAR);
        SET @char = SUBSTRING(@str, 1, 1);
        SELECT  @res = ( CASE ( CAST(@char AS INT) )
                           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 ‘九‘
                           ELSE ‘零‘
                         END );
        IF ( LEN(@str) > 1 )
            BEGIN
                SELECT  @res = @res + ( CASE LEN(@str)
                                          WHEN 2 THEN ‘十‘
                                          WHEN 3 THEN ‘百‘
                                          WHEN 4 THEN ‘千‘
                                          WHEN 5 THEN ‘万‘
                                          WHEN 6 THEN ‘十‘
                                          WHEN 7 THEN ‘百‘
                                          ELSE ‘‘
                                        END );
                SET @res = @res
                    + dbo.fn_NumberToChinese(CAST(SUBSTRING(@str, 2,
                                                              LEN(@str) - 1) AS INT));
            END;
        RETURN @res;
END;

使用:

SELECT dbo.fn_NumberToChinese(‘21‘)

结果:

  二十一

时间: 2024-10-09 23:06:09

在MSSQL中将数字转换成中文的相关文章

在C#中将数字转换成中文

上篇我们讲了在MSSQL中将数字转换成中文,这篇我们讲讲在C#中将数字转换成中文 下篇将讲一下如何将金额转换成中文金额,废话不多说,具体代码如下: /// <summary> /// 数字转中文 /// </summary> /// <param name="number">eg: 22</param> /// <returns></returns> public string NumberToChinese(in

数字转换成中文大小写、金额大小写

将数字转换成中文大小写.金额大小写  /// <summary> /// 将数字转换成中文大写 /// </summary> /// <param name="Value">数字</param> /// <param name="bToUpper">是否转换成汉字大写 true表示大写 false表示小写</param> /// <param name="bMoney"

在C#中将金额转换成中文大写金额

具体代码如下: /// <summary> /// 金额转换成中文大写金额 /// </summary> /// <param name="LowerMoney">eg:10.74</param> /// <returns></returns> public static string MoneyToUpper(string LowerMoney) { string functionReturnValue = nu

数字转换成中文汉字数字

1 class Student { 2 static String[] ss = new String[]{"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; 3 static String[] mm = new String[]{"仟",

中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八--&gt;12345678)

昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2…十换成10.可是那么问题来了…… 一十二呢…不能是1102吧…这不就坑爹了吗?一百万呢………所有我苦苦思索,花费了我差不多半天的时间,终于写出了下面的程序. 1 public static void main(String[] args){ 2 3 Map<Character, String> numberMap = new HashMap<

PHP 数字金额转换成中文大写金额的函数 数字转中文

/** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰仟亿"; //精确到分后面就不要了,所以只留两个小数位 $num = round($num, 2); //将数字转化为整数 $num = $num * 100; if (strlen($

oracle改进之将阿拉伯数字转换成中文数字

本博客是自己在学习和工作途中的积累与总结. 将阿拉伯数字转换成中文汉字,方法自定义函数 create or replace function formate(val in number) return varchar2 is res varchar2(6); begin if val=1 then res:='一'; elsif val=2 then res:='二'; elsif val=3 then res:='三'; elsif val=4 then res:='四'; elsif val

把man手册转换成中文

1  *  Copyright (c) 2012级, 烟台大学计算机学院 2  *  All rights reserved. 3  *  作者:付记超 4  *  完成日期:2015 年 6 月 6 日 5  *  版 本 号:v1.0 6  *  学习主题:把man手册转换成中文 7  *  使用环境:红帽5.8 8  *  使用好处: 9  *  使用时间: 10 *  如何使用: 11 *  学习内容:安装man-pages中文手册包 欢迎指正 QQ:2272172668  Email:

Qt中将float转换成unsigned short类型

在用Qt开发应用程序时有时候需要将float类型转换为unsigned short类型的.如果进行强制类型转换,那么会出现精度损失的问题,使数据变得不正确.那么可以通过先将float类型的转换为QString类型的,QString sNum = QString::number(fNum);然后调用sNum.toUShort()函数就可以将float转换为unsigned short类型. 来自为知笔记(Wiz) Qt中将float转换成unsigned short类型,布布扣,bubuko.co