mysql中:阿拉伯数字转中文:如:235转:二百三十五

CREATE DEFINER="root"@"%" FUNCTION "number_tochar"(nums varchar(20)) RETURNS varchar(11) CHARSET utf8
BEGIN
    
    #Routine body goes here...
    DECLARE res VARCHAR(20);
    DECLARE strs VARCHAR(20);
    
    DECLARE i int;
    set res ='';
    set strs ='';
    set i = length(nums);
    WHILE i > 0 DO 
       set res = SUBSTRING(nums,length(nums)-i+1,1);
       set res = CASE res 
        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;
    set res = CONCAT(res,CASE i 
        WHEN 2 THEN '十'
        WHEN 3 THEN '百'
        WHEN 4 THEN '千'
        WHEN 5 THEN '万'
        WHEN 6 THEN '十万'
        WHEN 9 THEN '亿'
        ELSE ''
        END );
           
     SET strs = CONCAT(strs,res); 
     #SET strs =replace(strs,'零亿','零');
     #SET strs =replace(strs,'零万','零');
     #SET strs =replace(strs,'零千','零');
     #SET strs =replace(strs,'零百','零');
     #SET strs =replace(strs,'零十','零');
     #SET strs =replace(strs,'零零','零');
     SET i = i -1;
END WHILE;


    
    
    RETURN strs;
END

测试:

结果: 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值