• Oracle PL/SQL 程序设计读书笔记 第9章 数字


    Oracle PL/SQL 程序设计读书笔记 - 第9章 数字

    Oracle PL/SQL 程序设计读书笔记 - 第9章 数字

    9.1 数值型数字类型

    • NUMBER:这是一个真正的十进制数据类型,也是PL/SQL中唯一一个用完全平台独立方式实现的数值类型。
    • PLSINTEGER和BINARYINTEGER:这两种整数类型是和你的底层硬件表示整理的方法完全一致的。
    • SIMPLEINTEGER:它和BINARYINTEGER有相同的取值范围,不过不允许为NULL,而且发生溢出时也不会抛出异常。
    • BINARYFLOAT和BINARYDOUBLE:这两种分别IEEE-754标准中的单精度,双精度二进制浮点类型。
    • SIMPLEFLOAT和SIMPLEDOUBLE:它们和BINARYFLOAT和BINARYDOUBLE有相同的聚会范围,不过不允许为NULL,而且发生溢出时也不会抛出异常,也不支持特殊的直接量或者谓词。

    9.1.1 NUMBER类型

    声明一个NUMBER变量最简单的办法是仅仅指明NUMBER关键字就可以了。

    DECLARE x NUMBER;

    这样的一个声明会产生一个浮点的NUMBER。Oracle数据库最多会分配能容纳40个数字的空单,小数点也会根据赋予变量的值作最优浮动。取值范围1.0E-130到1.0E126-1。比最小值还小的值会向下舍入为0,如果计算结果的值大于最大值将导致undefined,导致运行时错误但不会抛出异常。

    NUMBER (precision, scale)

    - percision是这个数值中总的有效数字的个数,范围1-38
    - scale表明小数点右面(正刻度)或者左面(负刻度)的数字个数。范围-84-127

    例如:

    - NUMBER(9,2)->9999999.99
    - NUMBER(9,11)->.00999999999
    - NUMBER(9,-11)->99999999900000000000.

    9.1.2 PLS_INTEGER类型

    • 聚会范围从-2147483648 到 2147483647的有符号整数。
    • 设计为这个数据类型是为了运算速度。

    9.1.3 BINARY_INTEGER类型

    9.1.4 SIMPLE_INTEGER类型

    • 和PLS_INTEGER有相同的取值范围。但是它不支持NULL值,也不会检查溢出条件。
    • 这个数据类型是PLS_INTEGER的性能增强版本。

    9.1.5 BINARY_FLOAT和BINARY_DOUBLE类型

    Oracle在对浮点类型开进隐式类型转换时有一个强制的优先级。优先级从最高到最低依次是:BINARYDOUBLE、BINARYFLOAT、NUMBER

    9.1.5 SIMPLE_FLOAT和SIMPLE_DOUBLE类型

    9.2 数字转换

    9.2.1 TO_NUMBER函数

    TO_NUMBER(string[,format [,nls_params]]

    -string:是一个字符串或者包含数字表现形式的BINARY_DOUBLE表达式
    - format:这是一个可选的格式掩码,用来指明如果第一个参数是个字符串的话,如何把这个字符形式的数值解释成数字
    - nls_params:这是一个可选的字符串,用来指明若干NLS参数值。

    9.2.2 TO_CHAR函数

    是把一个数字转换成对应的字符表现形式。

    TO_CHAR (number,[,format [,nls_params]])

    - number:这是你想要用字符形式表示的数字。
    - format:这是可选的格式掩码
    - nls_params:这是一个可选的字符串,用来指明若干NLS参数值。

    注意转换后的的字符形式显示一个正数前面可能会预留一个空格。

    9.2.3 CAST函数

    可以用来把数字转换成字符串或者相反

    CAST(expression AS datatype)

    CAST的缺点就是不支持数字格式样式的使用。而CAST的一个好处就是它是ISO SQL标准的一部分。

    函数CAST看起来没有给PL/SQL的数字转换带来真正好处。但是,CAST可以用于写出百分百ISO兼容的SQL语句。

    9.4 数字函数

    9.4.1 四舍五入和截断函数

    • CELL:返回大于或等于指定值的最小整数。
    • FLOOR:返回小于或等于指定值的最大整数。
    • FOUND:对一个数字执行四舍五入操作。
    • TRUNC:把一个数字按照指定的小数位数截断。
  • 相关阅读:
    设计模式之——浅谈strategy模式(策略模式)
    设计模式之——bridge模式
    验证ip地址
    查询sqlserver数据库表的记录数
    iis网站部署常见错误
    asp.net 向后台提交 html 代码段 包括 <> 标签
    jquery花式图片库——jqFancyTransitions
    为sqlserver数据库添加专用用户名
    sqlserver 收缩数据库/文件
    你使用的ie版本过低请。。。
  • 原文地址:https://www.cnblogs.com/tjpanda88/p/2253074.html
Copyright © 2020-2023  润新知