数值型

理解精度

number类型的精度表示可以标识数据精确度的位数。对于数字13245.977,当精确到小数点后2位,数据为12345.98,此时精度为7。而当精确到小数点前2位,数据为12300,此时精度为3,因为有3个数字对数据的准确度作出贡献

精度与小数位数

number类型中。小数位数可正可负,当为负数时,表示将数字精确到小数点之前的位数,当小数位数为0时,表示将数字精确到正数

指定number类型的列或变量时,小数位数不能超过精度

number(5,2)表示,精度为5,精确到小数点后2位

数值处理

返回数字的绝对值-abs()

select abs(-12.45) from dual

结果:21.45

四舍五入-round()

select round(4.37,1) result from dual

结果:4.4

select round(456.37,-1) result from dual

结果:460

select round(456.37) result from dual

结果:456

当小数位数为0或省略时,表示精确到整数

向上取整-ceil()

ceil()返回大于等于数值型参数的最小整数

想下取整-floor()

floor()返回小于等于参数的最大整数

取模操作-mod()

mod()返回一个除法表达式的余数

mod(被除数,除数)

select mod(5,2) result from dual

结果;1

在mod()中,被除数可以是0

select mod(5,0) result from dual

结果:5

返回数字的正负性-sign()

当参数大于0,返回1,当参数小于0,返回-1,当参数为0返回0

返回数字平方根-sqrt()

参数不能小于0

乘方运算-power()

select power(4,3) result from dual

结果64.4是底数,3是指数

截取数字–trunc()

trunc()截取时不进行四舍五入,而是直接舍去

select trunc(3.789,2) result from dual

结果:3.78

将ASCII码转换为字符-chr()

select chr(65) result from dual

结果:A

应用:向数据表中插入不宜直接输入的字符。在Oracle中,‘&’用来进行变量引用,当插入含有改符号时,Oracle可能会将其解释为变量引用

insert into test_char(f_char) values('&id=1');

此时pl/sql给出提示窗口,要求输入变量的值。处理该问题时,首先将其defin选项关闭,再执行插入

set define off
insert into test_char(f_char) values('&id=1');

格式化数值-to_char()

格式字符‘0’

0代表一个数字位,当原数值没有数字位与之匹配时,强制添加0

select to_char(12.78,'000.000') result from dual

结果:012.780

格式字符‘9’

9代表一个数字位,当原数值的整数部分没有数字位与之匹配,不填充任何字符

select to_char(12.78,'999.999') result from dual

结果:12.780

select to_char(0.78,'999.999') result from dual

结果:.780

对于小于1的小数来说,格式参数的个位使用‘0’更好

select to_char(0.78,'990.999') result from dual

结果:0.780

格式字符‘,’
select to_char(4560000,'99,999,990.00') result from dual

结果:4,560,990,00

格式字符‘FM’
select to_char(12.78,'FM000.000') result from dual

结果:012.780

select to_char(12.78,'FM999.999') result from dual

结果:12.78

FM格式符的意义在于屏蔽所有不必要的空格和0

格式字符‘$’
select to_char(12.78,'$999.999') result from dual

结果:$12.780

$可以出现在任何位置,而不必出现在开头

select to_char(12.78,'999.9$99') result from dual

结果:$12.780

如果‘FM’和‘$’均出现在格式参数中,则FM必须出现在开头,否则报错

select to_char(12.78,'FM$999.999') result from dual

结果:$12.78

格式字符‘L’

L是指定指定本地化货币的标识

select to_char(12.78,'FML999.999') result from dual

结果:¥12.78

格式字符‘C’

C返回与数据库系统环境相关的货币种类符号

select to_char(12.78,'FM999.999C') result from dual

结果:12.78CNY

CNY代表国际标准的人民币货币种类符号

十进制转十六进制

注意:‘x’的位数不能小于实际十六进制数的位数

select to_char(255,'xxx') from dual

结果:ff

select to_char(255,'x') from dual

结果:##。这是错误的结果

Oracle中数值型及处理方法的更多相关文章

  1. JQuery源码-------JQuery中数值型变量的判断isNumeric

    判断一个数值型变量的方法,在jquery中非常简单,只有一行代码. isNumeric: function( obj ) { // parseFloat NaNs numeric-cast false ...

  2. oracle中的round()方法的用法

    [oracle中的round()方法的用法] Round( ) 函数 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果 oracle一般常用于计算表空间内存还有多少空间 语法 ROUN ...

  3. Oracle计算数值型的幂次方——POWER()

    Oracle计算数值型的幂次方 简介:幂次方就是幂函数的变形,在POWER(value1,value2)中,value1就是函数的底数,value2就是函数的指数.如:POWER(value1,val ...

  4. Oracle中的 UPDATE FROM 解决方法

    转:http://www.cnblogs.com/JasonLiao/archive/2009/12/23/1630895.html Oracle中的 UPDATE FROM 解决方法 在表的更新操作 ...

  5. Oracle中对列加密的方法

    Oracle中对列加密的方法 2011-12-22 17:21:13 分类: Linux Oracle支持多种列加密方式: 1,透明数据加密(TDE):create table encrypt_col ...

  6. Oracle中查询各种对象的方法小结

    --查看当前库中的所有表select * from all_tables a where a.table_name='INFOCODE_P20081'--查看表结构select * from all_ ...

  7. Oracle中字符串连接的实现方法

    1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 例如: SELECT '工号为'||FNumber||'的员工姓名为 ...

  8. oracle中insert 多条数据方法

    oracle中的insert 和 mysql添加多条数据的 方式不太一样 用到的语法: insert all into 表名(需要添加的表字段)values(添加的字段数据一定要对应字段顺序) int ...

  9. Oracle中创建自增字段方法

    oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 下面给大家讲个例子: 1.在Oracle中创建一个表: .创建一个表 ) prim ...

  10. oracle中can not set解决方法

    原因:set autotrace on和set trimspool on在pl\sql中使用不了 解决方法:在window环境中,使用cmd命令,sqlplus user_name/password@ ...

随机推荐

  1. MySQL的limit优化2

    一.底层原理 在 MySQL 8.0 中,当使用 LIMIT offset, count 进行分页查询时,如果 offset 非常大(例如 LIMIT 200000, 10),性能会显著下降. 这是因 ...

  2. eolinker脚本代码[Javascript]:脚本(函数)之间传参案例

    场景描述: 有等级卡A.B,依次通过查询A.B,检查A.B下是否会会员,如果有,调整会员身份,没有着执行下一个循环 全部脚本:脚本中红色标注的user即脚本之间的传参 //以下代码为示例代码(支持原生 ...

  3. 『Plotly实战指南』--在科学数据可视化中的应用(下)

    科学数据往往涉及多个维度,例如分子结构中的空间坐标.物理实验中的时间序列以及化学反应中的温度变化等. 传统的二维可视化方法已经难以满足这些复杂数据的展示需求. 而Plotly,作为一种强大的可视化库, ...

  4. 突破Excel百万数据导出瓶颈:全链路优化实战指南

    在日常工作中,Excel数据导出是一个常见的需求. 然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈. 当用户点击"导出"按钮时,后台系统往往会陷入三重困境: ‌内 ...

  5. 探索 Rust:从基础语法到实用概念

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  6. codeup之查找

    Description 输入数组长度 n 输入数组 a[1-n] 输入查找个数m 输入查找数字b[1-m] 输出 YES or NO 查找有则YES 否则NO . Input 输入有多组数据. 每组输 ...

  7. POWERBI_创建工作区应用_协同办公能力 up up up

    在powerbi中,我们往往会创建很多不同模型的报表,他们分别独立,但是在业务决策过程中,我们需要跨报表查看数据,反复切换报表,低效且忙乱 这个时候,合并展示报表是至关重要的 今天就一起学习一下,如何 ...

  8. 【FAQ】HarmonyOS SDK 闭源开放能力 —Live View Kit (3)

    1.问题描述: 通过Push Kit创建实况窗之后,再更新实况窗失败,平台查询提示"实况窗端更新失败,通知未创建或已经过期". 解决方案: 通过Push Kit更新实况窗内容的过程 ...

  9. iOS快捷指令——记录今天、今年已过进度的工具

    起因是看到了 大佬博客 里面一个计时的小工具,于是也想搞一个来提醒自己珍惜时间. 经过一段时间对快捷指令的摸索,最终选择了如下的方式完成: 快捷指令的链接在这里给出: https://www.iclo ...

  10. Java遍历Map对象的常见方法

    在Java中遍历Map有不少的方法,我们看一下最常用的方法及其优缺点. 既然Java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHa ...