- 浏览: 96489 次
- 性别:
- 来自: 南京
文章分类
最新评论
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[L2U]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[L2U]
GO
CREATE FUNCTION dbo.L2U(@n_LowerMoney numeric(15,2),@v_TransType int)
RETURNS VARCHAR(200) AS
BEGIN
Declare @v_LowerStr VARCHAR(200) -- 小写金额
Declare @v_UpperPart VARCHAR(200)
Declare @v_UpperStr VARCHAR(200) -- 大写金额
Declare @i_I int
set @v_LowerStr = LTRIM(RTRIM(ROUND(@n_LowerMoney,2))) --四舍五入为指定的精度并删除数据左右空格
set @i_I = 1
set @v_UpperStr = ''
while ( @i_I <= len(@v_LowerStr))
begin
select @v_UpperPart = case substring(@v_LowerStr,len(@v_LowerStr) - @i_I + 1,1)
WHEN '.' THEN '元'
WHEN '0' THEN '零'
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 '玖'
END
+
case @i_I
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 '拾'
WHEN 10 THEN '佰'
WHEN 11 THEN '仟'
WHEN 12 THEN '亿'
WHEN 13 THEN '拾'
WHEN 14 THEN '佰'
WHEN 15 THEN '仟'
WHEN 16 THEN '万'
ELSE ''
END
set @v_UpperStr = @v_UpperPart + @v_UpperStr
set @i_I = @i_I + 1
end
if ( 0 = @v_TransType)
begin
set @v_UpperStr = REPLACE(@v_UpperStr,'零拾','零')
set @v_UpperStr = REPLACE(@v_UpperStr,'零佰','零')
set @v_UpperStr = REPLACE(@v_UpperStr,'零仟','零')
set @v_UpperStr = REPLACE(@v_UpperStr,'零零零','零')
set @v_UpperStr = REPLACE(@v_UpperStr,'零零','零')
set @v_UpperStr = REPLACE(@v_UpperStr,'零角零分','整')
set @v_UpperStr = REPLACE(@v_UpperStr,'零分','整')
set @v_UpperStr = REPLACE(@v_UpperStr,'零角','零')
set @v_UpperStr = REPLACE(@v_UpperStr,'零亿零万零元','亿元')
set @v_UpperStr = REPLACE(@v_UpperStr,'亿零万零元','亿元')
set @v_UpperStr = REPLACE(@v_UpperStr,'零亿零万','亿')
set @v_UpperStr = REPLACE(@v_UpperStr,'零万零元','万元')
set @v_UpperStr = REPLACE(@v_UpperStr,'万零元','万元')
set @v_UpperStr = REPLACE(@v_UpperStr,'零亿','亿')
set @v_UpperStr = REPLACE(@v_UpperStr,'零万','万')
set @v_UpperStr = REPLACE(@v_UpperStr,'零元','元')
set @v_UpperStr = REPLACE(@v_UpperStr,'零零','零')
end
-- 对壹元以下的金额的处理
if ( '元' = substring(@v_UpperStr,1,1))
begin
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end
if ( '零' = substring(@v_UpperStr,1,1))
begin
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end
if ( '角' = substring(@v_UpperStr,1,1))
begin
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end
if ( '分' = substring(@v_UpperStr,1,1))
begin
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end
if ('整' = substring(@v_UpperStr,1,1))
begin
set @v_UpperStr = '零元整'
end
return @v_UpperStr
END
GO
select dbo.L2U(12.93,1),dbo.L2U(12.93,0)
select dbo.L2U(201020.256,1),dbo.L2U(1023405612.89,0)
发表评论
-
Oracle创建表空间、用户等常用脚本
2013-02-28 12:44 795Oracle是开发人员常用的数据库工具,以下是从创 ... -
打包并自动安装SQL数据库
2007-08-05 13:04 542NET平台下WEB应用程序的 ... -
Windows mobile Install the Tools
2007-08-23 17:39 553Install Visual Studio 2005 ... -
mysql的常用命令备份表
2007-08-30 16:37 5601连接数据库:进入mysql的安装路径bin如:C:>c ... -
Sybase Power Designer 11.0 中文破解版 下载
2007-09-05 13:44 690SybasePowerDesigner11.0中文破解版文件大 ... -
SQL Server 2005 CE基础概要
2007-09-07 14:19 594SQL Server 2005 Compact Edition ... -
HSQLDB介绍
2007-12-06 10:47 627目前稳定版本 hsqldb_1_8_0_9.zip 下载处 ... -
Spring 让 LOB 数据操作变得简单易行
2007-12-17 08:40 507本文讲解了在 Spring 中处理 LOB 数据的原理和方法, ... -
oralce里面的单引号
2007-12-20 08:20 484在oracle中,字符串是由 ... -
Sql Server中的日期与时间函数
2008-01-16 13:23 4881.当前系统日期、时间 select getdate() ... -
char varchar nvarchar区别
2008-02-15 17:14 535联机帮助上的: char(n) 定长 索引效率高 程 ... -
Spring 让 LOB 数据操作变得简单易行
2008-04-18 11:11 329级别: 中级 摘自:http://www.ibm.com/d ... -
mssql:t-sql;创建表;给表添加约束;使用变量;事务,索引,视图;存储过程;触发器trigger
2008-11-25 09:51 10441 t-sql; select * from table1; ... -
ORACLE常用数值函数、转换函数、字符串函数介绍 (转)
2009-09-02 19:38 970本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到 ...
相关推荐
该Sql语句可将sqlServer表结构字段列名内大写字母转换为小写字母,只需拷贝sql到数据库查询框中执行即可。
用SQL Server存储过程实现小写金额转换大写金额.pdf
在SQL Server中用函数把数字金额转换成大写金额 最大转换金额为5万亿 如 select DBO.ChineseJe(2000000200000.04) 得到 贰万亿零贰拾万元零肆分
sqlserver中常用函数----字符串函数---- ASCII() --函数返回字符表达式最左端字符的ASCII 码值 CHAR() --函数用于将ASCII 码转换为字符 --如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值 ...
18.人民币小写金额转大写 32 19.向左填充指定字符串 36 20.将整型数字转换为大写汉字 39 21.检查给定串是否存在于由区间及点集的结合内 39 22.根据日期返回星座 41 23.计算两个日期之间的工作日 43 24.根据年月生成...
sqlserver 修改列名大小写 ,使用该语句可以快速将数据库表的列名改成小写
SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- ...
MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可以随机生成小写、大写字母,特殊字符和数字
在输入关键字时,会自动格式化,如你输入的是小写,它会自动帮你转换为大写的,不需要再写关键字和普通单词时来回地切换Caps Lock键。 它还提供了表定义智能提示。有一张很大的表,有些字段无法记得清楚,那么此时...
5.2.2 字符串转换为小写 5.2.3 字符串转换为大写 5.2.4 截去字符串左侧空格 5.2.5 截去字符串右侧空格 5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取...
5.2.3 字符串转换为大写 5.2.4 截去字符串左侧空格 5.2.5 截去字符串右侧空格 5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧...
5.2.3 字符串转换为大写 5.2.4 截去字符串左侧空格 5.2.5 截去字符串右侧空格 5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧...
5.2.3 字符串转换为大写 5.2.4 截去字符串左侧空格 5.2.5 截去字符串右侧空格 5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧...
5.2.3 字符串转换为大写 5.2.4 截去字符串左侧空格 5.2.5 截去字符串右侧空格 5.2.6 截去字符串两侧的空格 5.2.7 取子字符串 5.2.8 计算子字符串的位置 5.2.9 从左侧开始取子字符串 5.2.10 从右侧...
SQL SERVER 的函数 1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr...
实例072 如何将小写金额转换成大写金额 实例073 如何将全角字符串转换成半角字符串 实例074 如何按照指定的有效位数转换数字 实例075 如何获取汉字的拼音索引 实例076 如何设置输入方法 实例077 如何控制数据...
实例072 如何将小写金额转换成大写金额 实例073 如何将全角字符串转换成半角字符串 实例074 如何按照指定的有效位数转换数字 实例075 如何获取汉字的拼音索引 实例076 如何设置输入方法 实例077 如何控制数据...
实例072 如何将小写金额转换成大写金额 实例073 如何将全角字符串转换成半角字符串 实例074 如何按照指定的有效位数转换数字 实例075 如何获取汉字的拼音索引 实例076 如何设置输入方法 实例077 如何控制数据...