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中将数字转换成有千位符号的更多相关文章

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

    上篇我们讲了在MSSQL中将数字转换成中文,这篇我们讲讲在C#中将数字转换成中文 下篇将讲一下如何将金额转换成中文金额,废话不多说,具体代码如下: /// <summary> /// 数字 ...

  2. c#中将字符串转换成带2位小数的浮点数

    今天遇到一个展示酒店价格的需求,觉得是要显示成“¥0.00”样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 "; string amount = string.Empty; ...

  3. Oracle中将小数转换成字符丢零.截取小数.除数为零解决法

    如下所示,前面少个0 SQL>select money from users where username ='LEI'; money --------- .3256 解决方法: SQL> ...

  4. sql语句将身份证号数字转换成特殊字符

    SELECT Tname , STUFF(Idcard,,,'*********') as Idcard,Completion from demo

  5. 在MSSQL中将数字转换成中文

    具体代码如下: CREATE FUNCTION [dbo].[fn_NumberToChinese] (@number INT) ) AS BEGIN ); ); ); SET @res = ''; ...

  6. javascript中将整数添加千位符号

    如果num是整数的话,将其转换成带千位符号的字符串: Number(num).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' +  ','); 另 ...

  7. 比较java与c语言中数字转换成字符的不同

    java java中将数字转换成字符非常方便,只要用一个"+"然后在跟一个空格行了.比如,你输入一个122 ,就会变成"122 ". import java.u ...

  8. 在Ajax中将数组转换成字符串(0517-am)

    一.如何在Ajax中将数组转换成字符串 1. 主页面; <head> <meta http-equiv="Content-Type" content=" ...

  9. ASP.Net中实现上传过程中将文本文件转换成PDF的方法

    iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...

随机推荐

  1. 1091 N-自守数 (15 分)

    // 建一个判断函数,接受两个整形的变量,再通过循环按位判断相等与否,主体函数中调用被调函数,建立一个判断变量.#include <iostream> using namespace st ...

  2. Linux网络编程服务器模型选择之并发服务器(下)

    前面两篇文章(参见)分别介绍了循环服务器和简单的并发服务器网络模型,我们已经知道循环服务器模型效率较低,同一时刻只能为一个客户端提供服务,而且对于TCP模型来说,还存在单客户端长久独占与服务器的连接, ...

  3. getActionBar()为null的解决方法总结(引用他人)

    最近在看android actionBar的使用,环境为AndroidStudio,建一个简单的工程,功能为:两个按钮,一个单击用于显示actionbar,一个用于隐藏actionbar.默认acti ...

  4. 找到MySQL配置文件默认路径

    如果不知道当前使用的配置文件的路径,可以尝试下面的操作: # which mysqld /usr/local/mysql/bin/mysqld # /usr/local/mysql/bin/mysql ...

  5. linux常用多线程下载工具

    1.axel 下载安装yum install axel 这个软件下载速度实时显示

  6. 利用js对象的特性,去掉数组中的重复项

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  7. Eclipse下搭建Django环境

    1.打开Eclipse,在Help->Install New Software,输入上诉信息,然后点击下一步(因这里已经安装了,所以无法点击下一步) 2.安装完成以后,进入Windows-> ...

  8. ASP.NET Core 中的依赖注入

    目录 什么是依赖注入 ASP .NET Core 中使用依赖注入 注册 使用 释放 替换为其它的 Ioc 容器 参考 什么是依赖注入 软件设计原则中有一个依赖倒置原则(DIP),为了更好的解耦,讲究要 ...

  9. python36异步任务 获取ip地址的地理位置

    # encoding: utf-8 import asyncio import requests import functools url = "http://ip.zxinc.org/ap ...

  10. 第8章 scrapy进阶开发(2)

    8-4 selenium集成到scrapy中 其实也没什么好说的直接上代码 这是在middlewares.py中定义的一个class: from selenium.common.exceptions ...