oracle学习(五)--数字类型操作函数

原创 2016年06月01日 12:03:35

oracle学习(五)--数字类型操作函数

--绝对值
SELECT "ABS"(-123) FROM dual;-->123


--向上取整
SELECT "CEIL"(123.22) FROM dual;-->124
SELECT "CEIL"(-123.22) FROM dual;-->-123


--向下取整
SELECT "FLOOR"(123.22) FROM dual;-->123
SELECT "FLOOR"(-123.22) FROM dual;-->-124


--取余数
SELECT "MOD"(5, 2) FROM dual;-->1


--判断正负
SELECT "SIGN"(12) FROM dual;-->1
SELECT "SIGN"(-12) FROM dual;-->-1


--开平方
SELECT "SQRT"(16) FROM dual;-->4


--幂
SELECT "POWER"(3, 4) FROM dual;-->81


--取固定位数
SELECT "TRUNC"(12.123, 2) FROM dual;-->12.12
SELECT "TRUNC"(12.123) FROM dual;-->12


--根据ASCII码返回字符
SELECT "CHR"(65) FROM dual;-->A


--四舍五入
SELECT "ROUND"(467.37, 1) FROM dual;-->467.40
SELECT "ROUND"(467.37, -1) FROM dual;-->470
SELECT "ROUND"(467.37) FROM dual;-->467
SELECT "ROUND"(467.57) FROM dual;-->468


--格式化数字
SELECT "TO_CHAR"(12.78,'000.000') FROM dual;--> 012.780
SELECT "TO_CHAR"(12.78,'999.999') FROM dual;-->  12.780
SELECT "TO_CHAR"(0.78,'999.999') FROM dual;-->    .780
SELECT "TO_CHAR"(0.78,'990.999') FROM dual;-->   0.780
SELECT "TO_CHAR"(1234567980123,'9,999,999,999,990.00') FROM dual;--> 1,234,567,980,123.00


--FM用于去掉多余的空格和0
SELECT "TO_CHAR"(12.78,'FM000.000') FROM dual;-->012.780
SELECT "TO_CHAR"(12.78,'FM999.999') FROM dual;-->12.78
SELECT "TO_CHAR"(0.78,'FM999.999') FROM dual;-->.78
SELECT "TO_CHAR"(0.78,'FM990.999') FROM dual;-->0.78
SELECT "TO_CHAR"(1234567980123,'FM9,999,999,999,990.00') FROM dual;-->1,234,567,980,123.00


--美元符号
SELECT "TO_CHAR"(12.78,'FM$000.000') FROM dual;-->$012.780
SELECT "TO_CHAR"(12.78,'FM$999.999') FROM dual;-->$12.78
SELECT "TO_CHAR"(0.78,'FM$999.999') FROM dual;-->$.78
SELECT "TO_CHAR"(0.78,'FM$990.999') FROM dual;-->$0.78
SELECT "TO_CHAR"(1234567980123,'FM$9,999,999,999,990.00') FROM dual;-->$1,234,567,980,123.00


--本地钱字符
SELECT "TO_CHAR"(12.78,'FML000.000') FROM dual;-->¥012.780
SELECT "TO_CHAR"(12.78,'FML999.999') FROM dual;-->¥12.78
SELECT "TO_CHAR"(0.78,'FML999.999') FROM dual;-->¥.78
SELECT "TO_CHAR"(0.78,'FML990.999') FROM dual;-->¥0.78
SELECT "TO_CHAR"(1234567980123,'FML9,999,999,999,990.00') FROM dual;-->¥1,234,567,980,123.00


--返回数据库所在地区的货币码
SELECT "TO_CHAR"(12.78,'FM000.000C') FROM dual;-->012.780CNY
SELECT "TO_CHAR"(12.78,'FM999.999C') FROM dual;-->12.78CNY
SELECT "TO_CHAR"(0.78,'FM999.999C') FROM dual;-->.78CNY
SELECT "TO_CHAR"(0.78,'FM990.999C') FROM dual;-->0.78CNY
SELECT "TO_CHAR"(1234567980123,'FM9,999,999,999,990.00C') FROM dual;-->1,234,567,980,123.00CNY


--转换成16进制
SELECT "TO_CHAR"(255,'FMx') FROM dual;-->##
SELECT "TO_CHAR"(255,'FMxx') FROM dual;-->ff
SELECT "TO_CHAR"(255,'FMxxxxxxxxxx') FROM dual;-->ff

版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle 判断值是否为数字的函数

Oracle 判断值是否为数字的函数   Oracle PL/SQL并没有提供一个判断值是否为数字的函数,所以我们在实际中遇到以下的问题时, 常常会很郁闷。 例如有一个表, SQL> d...
  • maoxiao1229
  • maoxiao1229
  • 2016年04月24日 23:02
  • 4102

oracle中关于数字操作的几个函数

关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select...
  • Dzq_Boyka
  • Dzq_Boyka
  • 2016年12月15日 23:40
  • 128

在oracle中判断某个字段的值是否为数字

一表travel_line,里面有pub_price, trade_price两字段,类型为varchar,需要把里面为纯数字的内容提取出来,写个函数来处理:create or replace fun...
  • tegwy
  • tegwy
  • 2011年04月27日 09:26
  • 2542

oracle常用函数一:数字函数

1,abs(n) 返回n的绝对值 SQL> select abs(-1),abs(1) from dual; ABS(-1) ABS(1) ---------- -------...
  • a19881029
  • a19881029
  • 2012年11月08日 14:07
  • 3026

Oracle 数值类型

本文只总结了几个oracle的数值类型,包括number极其子类型,现在先理解到这里,有需要的时候会继续补充。 Oracle的数值类型有int,number,float,decimal,number...
  • yanwushu
  • yanwushu
  • 2014年08月12日 20:31
  • 12241

Oracle 四舍五入函数

ceil(number)   大于或等于的最小整数     floor(number)   小于或等于的最大整数     trunc(number,m)   在整数number的m位置截掉m及以后的位...
  • lick4050312
  • lick4050312
  • 2009年12月01日 17:15
  • 5425

oracle数据库比较字符类型和数字类型

对于oracle字段是字符的,当需要比较时需要用to_number() 函数转化后才能比较。然后类似date类型也是(或者使用 to_char(字段,'yyyy-mm-dd') 或者 to_date(...
  • zhu82770802
  • zhu82770802
  • 2016年07月14日 16:31
  • 1439

ORACLE中字符型与数字型的类型转换

以前一直没太注意过这个问题,昨天看到论坛里一个朋友发帖子在问一个相关的问题,引发了我想进一步探究这个问题的兴趣。刚才自己动手做了些实验,现在写下来看看,总结一下。当然,这里不是探讨to_char()和...
  • wh62592855
  • wh62592855
  • 2009年12月09日 10:49
  • 6068

oracle判断是否是数字的函数

create or replace FUNCTION isnumer (str IN VARCHAR2)     RETURN NUMBER IS     v_str FLOAT; BEGIN...
  • xfl4629712
  • xfl4629712
  • 2017年01月10日 14:50
  • 257

oracle学习需要的linux基本操作

oracle目录结构,oracle_base、oracle_home 1.   linux目录的操作命令(增,删,改,查,目录权限设置) 目录的树形结构: 树: 根: / 枝干:大,二,三、...
  • szyzxcv5689
  • szyzxcv5689
  • 2013年09月29日 09:50
  • 3112
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle学习(五)--数字类型操作函数
举报原因:
原因补充:

(最多只允许输入30个字)