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. 题解 p2017 [USACO09DEC]晕牛Dizzy Cows

    前言:P大终于又更新了 正文 转送门 由于当时我这个ZZ不知怎么了,这份题解排版可能有些尴尬,建议大家读完题后,看我主程序前的代码的注释,然后看最下面的图片,然后看第一张图片,对不起,望多谅解 以样例 ...

  2. 南昌 Max answer

    https://nanti.jisuanke.com/t/38228 Alice has a magic array. She suggests that the value of a interva ...

  3. 通过数据库绑定的dropdownlist,如何让其第一条默认显示"--请选择--"

    第一种方法 DropDownList1.Items.Insert(0,"请选择XXX"); 第二种方法 在第一个位置插入一个项就可以 DropDownList1.Items.Ins ...

  4. hibernate_SessionFactory_getCurrentSession_JTA简介

    JTA:java transaction  api java里所规定的一种管理事务的API 在另一篇播客我写到了,SessionFactory需要关注两个方法, 即:  openSession     ...

  5. linux 和 windows 安装composer

    在 Linux 和 Mac OS X 中可以运行如下命令: curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/ ...

  6. 使用vue的v-model自定义 checkbox组件

    <template id='c'> <input type="checkbox" :checked="checked" v-on:change ...

  7. erlang尾递归练习

    1 %%计算链表长度尾递归实现 2 lez(N) -> lez(N, 0). 3 4 lez([], Acc) -> Acc; 5 lez([_ | T], Acc) -> lez( ...

  8. poj 1222EXTENDED LIGHTS OUT

    高斯消元的题本质思想一样. 学习网址:http://www.cnblogs.com/rainydays/archive/2011/08/31/2160748.html #include <ios ...

  9. 【转】前端——实用UI组件库

    Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https://valor-software.com/ngx-bootstrap/#/ github: h ...

  10. PL/SQL之游标的使用

    Oracle中的游标有两种: 显式游标 用CURSOR...IS 命令定义的游标,它可以对查询语句(SELECT)返回的多条记录进行处理. 隐式游标 是在执行插入(INSERT).删除(DELETE) ...