在SQL service或Oracle中将数字转换成有千位符号
1、在SQL service中的写法:
--Function主体
CREATE FUNCTION [dbo].[FnMoneyStyle](@Number float,@strType char())
RETURNS VARCHAR()
AS
BEGIN
DECLARE @ReturnValue varchar()
SET @ReturnValue=
SET @Number=ISNULL(@Number,)
--千分
IF @strType = '' --千分 无小数点
SET @ReturnValue= left(convert(varchar,convert(money,@Number),),len(convert(varchar,convert(money,@Number),))-)
IF @strType = '' --千分 两位小数点
SET @ReturnValue= convert(varchar,convert(money,@Number),)
IF @strType = '' --千分 两位小数点 去掉.
SET @ReturnValue=REPLACE(convert(varchar,convert(money,@Number),),'.00', '')
--非千分
IF @strType = '' --四位小数
SET @ReturnValue= convert(varchar,convert(money,@Number),)
IF @strType = '' --去掉.
SET @ReturnValue=REPLACE(convert(varchar,convert(money,@Number)),'.00', '') RETURN @ReturnValue
END --Function测试结果:
SELECT dbo.FnMoneyStyle(300000.00,)--返回结果:,
SELECT dbo.FnMoneyStyle(300000.00,)--返回结果:,000.00
SELECT dbo.FnMoneyStyle(300000.00,)--返回结果:300000.0000
SELECT dbo.FnMoneyStyle(300000.00,)--返回结果:
2、在Oracle中的写法:
--function主体:
create or replace function FnMoneyStyle
(
fNumber float,
strType varchar2
) return varchar2
as
ReturnValue varchar2():=;
begin --千分
IF strType = '' THEN --千分 无小数点
SELECT SUBSTR
(
TRIM(DECODE(fNumber,,'0.00',TO_CHAR(fNumber,'999,999,999,999,999.99')))
,
,LENGTH(TRIM(DECODE(fNumber,,'0.00',TO_CHAR(fNumber,'999,999,999,999,999.99'))))-
) INTO ReturnValue
FROM DUAL;
END IF; IF strType = '' THEN --千分 两位小数点
SELECT TRIM(DECODE(fNumber,,'0.00',TO_CHAR(fNumber,'999,999,999,999,999.99'))) INTO ReturnValue
FROM DUAL;
END IF; IF strType = '' THEN --千分 两位小数点 去掉.
SELECT REPLACE
(
TRIM(DECODE(fNumber,,'0.00',TO_CHAR(fNumber,'999,999,999,999,999.99')))
,'.00'
,''
) INTO ReturnValue
FROM DUAL;
END IF; --非千分
IF strType = '' THEN --四位小数
SELECT TRIM(DECODE(fNumber,,'0.0000',TO_CHAR(fNumber,'9999999999999999999999999.9999'))) INTO ReturnValue
FROM DUAL;
END IF; IF strType = '' THEN --去掉.
SELECT REPLACE
(
TRIM(DECODE(fNumber,,'0.00',TO_CHAR(fNumber,'9999999999999999999999999.99')))
,'.00'
,''
) INTO ReturnValue
FROM DUAL;
END IF;
dbms_output.put_line(ReturnValue);
return(ReturnValue);
end FnMoneyStyle; --function测试结果:
SELECT FnMoneyStyle(30000.123,'') FROM DUAL--返回结果:,
SELECT FnMoneyStyle(30000.123,'') FROM DUAL--返回结果:,000.12
SELECT FnMoneyStyle(30000.123,'') FROM DUAL--返回结果:30000.1230
SELECT FnMoneyStyle(30000.123,'') FROM DUAL--返回结果:30000.12
SELECT FnMoneyStyle(30000.123,'') FROM DUAL--返回结果:,000.12
在SQL service或Oracle中将数字转换成有千位符号的更多相关文章
- 在C#中将数字转换成中文
上篇我们讲了在MSSQL中将数字转换成中文,这篇我们讲讲在C#中将数字转换成中文 下篇将讲一下如何将金额转换成中文金额,废话不多说,具体代码如下: /// <summary> /// 数字 ...
- c#中将字符串转换成带2位小数的浮点数
今天遇到一个展示酒店价格的需求,觉得是要显示成“¥0.00”样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 "; string amount = string.Empty; ...
- Oracle中将小数转换成字符丢零.截取小数.除数为零解决法
如下所示,前面少个0 SQL>select money from users where username ='LEI'; money --------- .3256 解决方法: SQL> ...
- sql语句将身份证号数字转换成特殊字符
SELECT Tname , STUFF(Idcard,,,'*********') as Idcard,Completion from demo
- 在MSSQL中将数字转换成中文
具体代码如下: CREATE FUNCTION [dbo].[fn_NumberToChinese] (@number INT) ) AS BEGIN ); ); ); SET @res = ''; ...
- javascript中将整数添加千位符号
如果num是整数的话,将其转换成带千位符号的字符串: Number(num).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + ','); 另 ...
- 比较java与c语言中数字转换成字符的不同
java java中将数字转换成字符非常方便,只要用一个"+"然后在跟一个空格行了.比如,你输入一个122 ,就会变成"122 ". import java.u ...
- 在Ajax中将数组转换成字符串(0517-am)
一.如何在Ajax中将数组转换成字符串 1. 主页面; <head> <meta http-equiv="Content-Type" content=" ...
- ASP.Net中实现上传过程中将文本文件转换成PDF的方法
iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...
随机推荐
- #.NET# DataGrid显示大量数据——DataGridView虚模式
要解决的目标:如何让 Datagridview 快速平滑显示大量数据 通常,Winform 下的表格控件是很"低效"的,如 DataGrid 和 DataGridView.造成低效 ...
- driver failed programming external connectivity on endpoint wordpress
docker run 镜像的时候报错: [root@docker ~]# docker run -itd --name wordpress -p 88:80 wordpress:v1b77482f80 ...
- 角色用户权限RBAC
关于角色.用户.权限的表设计,已经成为经典中的经典,到处都在用,这里只是收录一下: 角色表:{role_id,role_name} 用户表:{user_id,user_name} 权限表:{permi ...
- ubuntu 添加多个IP
上次这个问题 : UBUNTU 无法解析域名 解决方法 解决后,每次重启电脑都需要重新配置 /etc/resolv.conf. 这次添加IP的时候留心发现,在/etc/network/interfa ...
- DotNetCore跨平台~autofac属性的自动注入
回到目录 在使用autofac这个DI工具时,我们一般使用的是构造方法注入,而dotnetcore的标准框架里也集成了构造方法注入,而属性注入在一些场景下,表现的更为灵活,像java的spring框架 ...
- PHP之string之ord()函数使用
ord (PHP 4, PHP 5, PHP 7) ord - Return ASCII value of character ord - 返回字符的 ASCII 码值 Description int ...
- Android组件--意图(Intent)
1. 隐示调用和显示调用 参考资料:http://blog.csdn.net/harvic880925/article/details/38399723 1.概念 1). 显式意图: 能从intent ...
- 使用javascript获取wx.config内部字段解决微信分享
背景 在微信分享开发的时候我们通常的流程是 <?php require_once "jssdk.php"; $jssdk = new JSSDK("yourAppI ...
- OpenStack 组成 架构
Components of OpenStack OpenStack is on a mission: to provide scalable, elastic cloud computing for ...
- 经典实用的iptables shell脚本
先解释一下iptables里的参数意思:A: 添加 (跟链)-I: 插入-p: 跟协议-s: 源IP-d: 目标IP-j: 操作行为-t: 加表--to-source:SNAT用,表示改成的SNAT源 ...