数值型

理解精度

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. 支付系统扩展:ZKmall开源商城支持跨境多币种结算的开发实践

    于跨境电商平台而言,多币种支付是满足全球消费者支付需求的关键.不同国家和地区的消费者习惯使用各自的货币进行支付,如果平台不支持多币种交易,将极大地限制用户的购买意愿和支付便利性.因此,跨境电商平台必须 ...

  2. UGUI 事件穿透使Scrollrect 滚动

    public class TouchPenetrate : MonoBehaviour, IPointerClickHandler,IBeginDragHandler,IDragHandler,IPo ...

  3. Grafana将弃用AngularJS-我们该如何迁移

    AngularJS 弃用时间线 AngularJS 支持已在 Grafana 9 中正式弃用.在 2024 年 5 月发布的 Grafana 11 中,所有 Grafana Cloud 和自托管安装默 ...

  4. 为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?

    为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)? 在 Java 8 中,JVM 移除了 永久代(PermGen)并引入了 元空间(Metaspace),这一改 ...

  5. 手把手带你从论文出发实战搭建分割FCN网络

    作者:SkyXZ CSDN:SkyXZ--CSDN博客 博客园:SkyXZ - 博客园 FCN论文地址:Fully Convolutional Networks for Semantic Segmen ...

  6. 使用搜索引擎时如何排除一些垃圾站点,比如csdn.net

    使用搜索引擎时需要排除一些垃圾站点,比如csdn.net时,可以在关键词后面加上-site:csdn.net: stable diffusion docker部署TensorFlow 教程 -site ...

  7. 安卓智能手机芯片上audio的bringup

    基于安卓平台的智能手机芯片回来后要做bringup.首先是负责平台的把安卓OS起来,然后就轮到各功能模块做bringup了,Audio是其中主要功能模块之一.Audio由于场景多和牵涉到的core多, ...

  8. Python实验2 turtle 库绘制进阶图形

    实验任务: 绘制嵌套彩色五角星(大小逐层递减) 设计函数绘制自定义正多边形(边数与颜色参数化) 扩展:实现动态旋转花瓣图案. 源代码:import turtle 绘制嵌套彩色五角星 def neste ...

  9. 使用“一次开发,多端部署”,实现Pura X阔折叠的全新设计

    3月20日,华为发布业界首款阔折叠手机Pura X,其独特的16:10阔型屏设计,为用户带来焕然一新的体验.然而随着鸿蒙生态设备类型的日益丰富,不同类型设备的应用适配成为开发者面临的一大挑战.为此,华 ...

  10. Java--Calendar类,Date类的简单使用,日期的格式化

    package demo; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; / ...