零点起飞学Oracle之处理数值型数据

上传人:jiups****uk12 文档编号:45447491 上传时间:2018-06-16 格式:PPTX 页数:23 大小:302.12KB
返回 下载 相关 举报
零点起飞学Oracle之处理数值型数据_第1页
第1页 / 共23页
零点起飞学Oracle之处理数值型数据_第2页
第2页 / 共23页
零点起飞学Oracle之处理数值型数据_第3页
第3页 / 共23页
零点起飞学Oracle之处理数值型数据_第4页
第4页 / 共23页
零点起飞学Oracle之处理数值型数据_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《零点起飞学Oracle之处理数值型数据》由会员分享,可在线阅读,更多相关《零点起飞学Oracle之处理数值型数据(23页珍藏版)》请在金锄头文库上搜索。

1、第第6 6章章 处理数值型数据处理数值型数据Oracle中数值型是用来存放数值,包括整数和实 数。尽管在实际开发中,我们可以利用integer来定 义列或者变量。但是Oracle仍然极力推荐用户统一 使用number类型。本章的主要讲解数值型的定 义、数值型函数。6.1 6.1 数值型简介数值型简介Oracle中的数值型有number类型、pls_integer类 型、binary_integer类型。Oracle中最重要的数值型 为number。number类型可以存储整数或浮点数。 该类型的使用方法如下所示:number(precision , scale)其中,precision代表该数

2、值型的精度;而scale则指定小数 后的位数。由于precision和scale均为可选,因此,我们既 可以指定number类型的精度,也可以直接使用number类型 进行声明。precision的取值范围为1prevision38;scale的 取值范围为-84scale127。6.1.1 6.1.1 精度定义精度定义精度表示的是一种估计值。number类型中的精度 是指可以标识数据精确度的位数。例如,对于数 字1469.168来说,当精确到小数点后两位,数据应 为1469.17。此时的精度为6。因为共有6位数字对 数据的准确度做出贡献。而当精确到小数点前两 位,数据应为1470。此时的精度

3、为3,因为共有3 个数字对数据的准确度做出贡献。6.1.2 6.1.2 精度与小数位数的关系精度与小数位数的关系精度用来指定小数点之后的最大有效数字位数, 当精度小于小数位数时,只能用来存放大于0小于 1的小数。在精度大于小数位数这种情况下,小数点 前最多能插入精度数减去小数位数个数字,但是 小数点后的数字可以任意长度。【示例6-1】对于指定了number类型的列或者变量 ,为其赋值时,应注意不要超过其精度。当超出 精度时,Oracle将抛出错误。6.2 6.2 常见数值处理常见数值处理数字函数操作数字数据,执行数学和算术运算。 所有函数都有数字参数并返回数字值。与字符串 函数一样,这些函数是

4、用来更改数值的。针对数 值型,Oracle提供了丰富的内置函数进行处理,本 节将针对这些函数进行简要介绍。6.2.1 6.2.1 计算绝对值计算绝对值非负数的绝对值是它本身,非正数的绝对值是它 的相反数。Oracle提供abs()函数来计算数字的绝对 值。【示例6-2】利用abs()返回数值的绝对值。6.2.2 6.2.2 求四舍五入值求四舍五入值四舍五入表示在取小数近似数的时候,如果尾数的最高 位数字是4或者比4小,就把尾数去掉。如果尾数的最 高位数是5或者比5大,就把尾数舍去并且在它的前一 位进“1“。Oracle中round()函数根据给定的精度摄入数 值,用于返回数字的四舍五入值。该函

5、数的使用语法 如下所示round(原数值 , 小数位数)其中,小数位数可以为正数、负数和0。当小数位数为 0时,可以将其省略。【示例6-3】当小数位数为正数时,表示精确到小数点 之后的位数,如下所示。6.2.3 6.2.3 向上取整向上取整向上取整表示将返回大于等于数值型参数的最小 整数。Oracle中ceil()是向上取整函数,表示产生大 于或者等于指定值的最小整数。【示例6-4】演示ceil()函数的使用。6.2.4 6.2.4 向下取整向下取整向下取整表示返回小于等于数值型参数的最大整 数。与ceil()函数相反,floor()函数用于返回小于等 于参数值的最大整数。【示例6-5】演示f

6、loor()函数的使用。6.2.5 6.2.5 取模取模取模表示一个除数除一个值并给出余数。Oracle中 mod函数用于取模操作,用于返回一个除法表达式 的余数。该函数主要用于复杂任务(如检查数字 )的数据处理,它用来确保一串数字的精确传 送。很明显,该函数要求两个参数被除数和 除数。其语法形式如下所示。mod(被除数, 除数)【示例6-6】演示mod()函数的使用。6.2.6 6.2.6 判断数值的正负判断数值的正负在数学和计算机运算中,我们需要判断某个数的 正负。sign()函数的功能是取某个数的符号(正或 负)。除此以外,我们可以通过多个if判断来实 现。当参数大于0时,sign()函

7、数返回1;当参数小 于0时,sign()函数返回-1;当参数等于0时,sign() 函数将返回0。【示例6-7】演示sign()函数的使用。6.2.7 6.2.7 求平方根求平方根sqrt()函数用于返回数值的平方根。从平方根的意 义我们可以看出,该函数的参数不能小于0。【示例6-8】利用sqrt()函数返回参数的平方根。6.2.8 6.2.8 乘方乘方power()函数用于计算一个值与给定正指数的乘 方。该函数有两个参数,第一个参数为乘方运算 的底数,第二个参数为乘方运算的指数,其调用 方式如下所示。power(底数, 指数)【示例6-9】利用power()函数进行乘方运算。6.2.9 6.

8、2.9 截取数字截取数字trunc()函数用于按精度值截取某个数字。当参数为 数字时,trunc()函数将截取部分数字。其工作机制 非常类似于round()函数,但是trunc()函数并不进行 四舍五入操作,而是直接舍去。该函数的调用语 法如下所示。trunc(原数值, 小数位数)【示例6-10】利用trunc()函数截取部分数字。6.2.10 6.2.10 按照按照ASCIIASCII码转换为字符码转换为字符chr()函数用于求数字对应的ASCII字符。chr()函数 仅含有一个参数,chr()函数将该参数翻译为实际 字符。【示例6-11】利用chr()函数将ASCII码转换为字 符。6.2

9、.11 6.2.11 格式化数值格式化数值to_char()函数是将数值型数据转换为字符串。这些函数都 遵循一个公共的调用习惯,第一个参数是待格式化的值, 而第二个是一个定义输出格式的模板。可以将数值进行格 式化,并返回格式化后的字符串。其调用格式如下所示:to_char(原数值, 格式)to_char()函数中的格式参数由一系列的字符组成。常用的 字符包括:0、9、,、FM、$、L。逗号(,),分组符号。常见的为千位分隔符。FM,Format Mask屏蔽所有不必要的空格和0。$,美元符号。C,与系统环境相关的国际货币符号。6.2.11 6.2.11 格式化数值格式化数值1. 格式字符“0”

10、0代表一个数字位。当原数值没有数字位与之匹配 时,强制添加0。【示例6-13】Oracle中格式字符“0”的应用。6.2.11 6.2.11 格式化数值格式化数值2. 格式字符“9”9代表一个数字位。当原数值中的整数部分没有数 字位与之匹配时,不填充任何字符。如果没有小 数位,用数字0代替。6.2.11 6.2.11 格式化数值格式化数值3格式字符“,”逗号(,)分组符号。常见的应用为千位分隔符。4. 格式字符“FM”Format Mask当使用to_char()函数进行数值格式化时,返回值在 最前面都不可避免地添加了空格符。6.2.11 6.2.11 格式化数值格式化数值5. 格式字符“$”

11、to_char()函数的一个典型应用场景为货币数量格式 化。为了标识货币,通常在数值之前添加“$”。在 to_char()函数中,同样可以利用格式字符“$”在返回值 的开头添加美元符号。6. 格式字符“L”美元符号表示货币,但是货币标识往往具有本地化的 色彩。例如,在我国,通常使用“¥”而非“$”来表示货 币。在to_char()函数中,使用“L”来指定本地化的货币 标识。6.2.11 6.2.11 格式化数值格式化数值6. 格式字符“C”通常,货币标识只能表示是否为货币,而货币种 类无法进行区分。在to_char()函数中,还提供了另 外,一个格式字符“C”。该字符将返回与数据库系 统环境相

12、关的货币种类符号。6.2.11 6.2.11 格式化数值格式化数值8. 对于插入或更新操作来说,Oracle会将更新值转换 为表中列的实际类型。对于Oracle中的字符型和数值型,我们可以通过函数 to_number()与to_char()进行相互转换。对于用户来说 ,通过函数进行强制转换非常直观,也是Oracle推荐 的方式。除此之外,Oracle还可以进行隐式转换。本 节将通过示例来讲解Oracle在字符型与数值型之间的 隐式转换规则。【示例6-13】Oracle中字符型与数值型之间的隐式转 换。9. 在字符串与数值的比较运算中,字符型首先被转换 为数值型,然后进行比较。6.4 6.4 本章小结本章小结本章简要介绍了数值型的基本概念,并通过具体 示例讲解函数的应用。本章还主要讲解了Oracle中 字符型与数值型之间的隐式转换,需要了解其转 换规则。本章重点是理解Oracle中的数值处理,并 能熟练掌握与数值处理相关的函数。下一章将讲 解Oracle中的日期型数据及其处理方法。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号