• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 阿拉伯数字转大写中文_财务常用sql存储过程

阿拉伯数字转大写中文_财务常用sql存储过程

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了数字,中文,sql,存储过程等相关知识,希望本文的分享对您有所帮助

需求:输入阿拉伯数字,给出对应的中文大写,编写为存储过程或函数

例:输入12345,程序给出:壹万贰仟叁佰肆拾伍
例:输入10023040,程序给出:壹仟另贰万叁仟另肆拾

解决方案之一(在SqlServer2000中测试通过):
CREATE FUNCTION fun_cgnum
(@num INT)
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @temp INT,@res INT,@i TINYINT
DECLARE @str VARCHAR(100),@no VARCHAR(20),@unit VARCHAR(16)
SELECT @str='',@no='另壹贰叁肆伍陆柒捌玖',@unit='拾佰仟万拾佰仟亿'
SET @temp=@num
SELECT @i=0,@res=@temp%10,@temp=@temp/10
WHILE @temp>0
BEGIN
IF @i=0
SET @str=SUBSTRING(@no,@res+1,1)
ELSE
SET @str=SUBSTRING(@no,@res+1,1)+SUBSTRING(@unit,@i,1)+@str
SELECT @res=@temp%10,@temp=@temp/10
SET @i=@i+1
END
SET @str=SUBSTRING(@no,@res+1,1)+SUBSTRING(@unit,@i,1)+@str
SET @str=REPLACE(@str,'另拾','另')
SET @str=REPLACE(@str,'另佰','另')
SET @str=REPLACE(@str,'另仟','另')
SET @str=REPLACE(@str,'另拾','另')
SET @str=REPLACE(@str,'另万','万')
WHILE @i>0
BEGIN
SET @str=REPLACE(@str,'另另','另')
SET @i=CHARINDEX('另另',@str)
END
SET @str=REPLACE(@str,'另万','万')
SET @str=REPLACE(@str,'亿万','亿')
IF RIGHT(@str,1)='另'
SET @str=LEFT(@str,LEN(@str)-1)
RETURN @str
END
GO

--测试:有0和没有0的情况
SELECT dbo.fun_cgnum(900000000),dbo.fun_cgnum(903002051),dbo.fun_cgnum(903002050)

PS:有兴趣的朋友可以继续考虑有小数点以及添加单位(元/角/分)的情况
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQL字符串以及数字常用操作汇总
  • mysql中取字符串中的数字的语句
  • mysql字符集和数据库引擎修改方法分享
  • MySQL 字符串模式匹配 扩展正则表达式模式匹配
  • Mysql 数字类型转换函数
  • PHP合并2个数字键数组值示例详解
  • MySQL 用数字辅助表实现复杂的列变行
  • MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL
  • MySQL关于字符串中数字排序的问题分析_MySQL
  • mysql中取字符串中的数字的语句

相关文章

  • 2018-12-05SQL语句的执行原理分析
  • 2017-05-11SQL SERVER 日期格式转换详解
  • 2017-05-11MySQL索引操作命令小结
  • 2018-12-05Oracle约束管理脚本
  • 2018-12-05深入理解mysql SET NAMES和mysql(i)_set_charset的区别
  • 2017-05-11貌似很强的mysql备份策略分享
  • 2018-12-05PHP程序员经常碰到的11个MySQL错误
  • 2018-12-05MySQL安全性指南(3)(转)
  • 2018-12-05SQL Server中的执行引擎入门 图解
  • 2018-12-05mysql -参数thread_cache_size优化方法 小结

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQL Server Bulk Insert 只需要部分字段时的方法
    • VMWare linux mysql 5.7.13安装配置教程实例分享
    • sqlserver 用户权限管理,LINQ去除它的重复菜单项
    • Oracle9iPL/SQL编程的经验小结
    • MySQL中explain的使用以及性能分析
    • 简单讲解对WordPress数据库的认识及使用命令
    • oracle 数据库闪回相关语句介绍
    • 如何通过PHP实现Mysql数据库连接、查询、记录集等操作
    • mysql 字符串函数收集比较全
    • linux下oracle导入数据的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有