oracle number整数,Oracle number类型的语法和用法

oracle number整数,Oracle number类型的语法和用法Oraclenumber类型的语法很简单,就是:number(p,s)p,s都是可选的,假如都不填,p默认为38,s默认为-48~127。1.精度(precision),或总位数。默认情况下,精度为38位,取值范围是1~38之间。也可以用字符*表示38。2.小数位置(scale),或小数点右边的位数。小数位数的合法值为-48~127,其默认值取决于是否指定了精度。如果没有知道精度,小数位数则默…

大家好,又见面了,我是你们的朋友全栈君。

Oracle number类型的语法很简单,就是:

number(p,s)

p,s都是可选的,假如都不填,p默认为38,s默认为-48~127。

bb

1. 精度(precision),或总位数。默认情况下,精度为38位,取值范围是1~38之间。也可以用字符*表示38。

2.

小数位置(scale),或小数点右边的位数。小数位数的合法值为-48~127,其默认值取决于是否指定了精度。如果没有知道精度,小数位数则默认有最大的取值区间。如果指定了精度,小数位数默认为0(小数点右边一位都没有)。例如,定义为NUMBER的列会存储浮点数(有小数),而NUMBER(38)只存储整数数据(没有小数),因为在第二种情况下小数位数默认为0.

如下SQL语句:

create table t ( msg varchar2(12.), num_col number(5,2) );

insert into t (msg,num_col) values ( ‘123.456’, 123.456

);//执行成功,保存的是123.46

insert into t (msg,num_col) values ( ‘1234’, 1234

);//执行失败,要保留2位小数,那么整数位最多3位,现在是4位。

如果scale是负数怎么样,表示左边整数位舍入几位:

create table t ( msg varchar2(12.), num_col number(5,-2) );

insert into t (msg,num_col) values ( ‘123.45’, 123.45

);//执行成功,保存的是100

insert into t (msg,num_col) values ( ‘123.456’, 123.456

);//执行成功,保存的是100

其他数据类型:

1. NUMERIC(p,s):完全映射至NUMBER(p,s)。如果p未指定,则默认为38.

2. DECIMAL(p,s)或DEC(p,s):完全映射至NUMBER(p,s)。如果p为指定,则默认为38.

3. INTEGER或INT:完全映射至NUMBER(38)类型。

4. SMALLINT:完全映射至NUMBER(38)类型。

5. FLOAT(b):映射至NUMBER类型。

6. DOUBLE PRECISION:映射至NUMBER类型。

7. REAL:映射至NUMBER类型。

性能考虑:

一般而言,Oracle NUMBER类型对大多数应用来讲都是最佳的选择。不过,这个类型会带来一些性能影响。Oracle

NUMBER类型是一种软件数据类型,在Oracle软件本身中实现。我们不能使用固有硬件操作将两个NUMBER类型相加,这要在软件中模拟。不过,浮点数没有这种实现。将两个浮点数相加时,Oracle会使用硬件来执行运算。

换而言之,将一些列的number列相加,没有将一系列float列相加来得快。因为float列的精度低很多,一般是6~12位。

比如:select sum(ln(cast( num_type as binary_double ) )) from t

比:select sum(ln(cast( num_type) )) from t 要快很多。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163932.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 多层感知机实现(单层感知器和多层感知器)

    前面利用了softmax来对图像进行分类,也可以使用多层感知机的方法对图像进行分类。多层感知机从零开始实现方法多层感知机(multilayerperceptron,MLP),在单层神经网络的基础上引入了一到多个隐藏层(hiddenlayer)。对于图中的感知机来说,它含有一个隐藏层,该层中有5个隐藏单元。输入和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元。…

    2022年4月16日
    36
  • php面试题及答案2020_最新php面试题

    php面试题及答案2020_最新php面试题1、PHP语言的一大优势是跨平台,什么是跨平台?PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式?Get与post两种方式区别:1.Get从服务器获取数据,post向服务器传送数据2.Get传…

    2022年8月29日
    4
  • 高级I/O函数之sendfile函数[通俗易懂]

    高级I/O函数之sendfile函数[通俗易懂]sendfile函数在两个文件描述符之间传递数据(完全在内核中操作),从而避免了内核缓冲区和用户缓冲区之间的数据拷贝,效率很高,被称为零拷贝。函数定义为:#include<sys/sendfile.h>ssize_tsenfile(intout_fd,intin_fd,off_t*offset,size_tcount);in_fd参数是待读出内容的文件描述符,out…

    2022年5月10日
    33
  • 实现括号匹配算法(括号匹配的检验算法完整程序)

    实现括号匹配算法(顺序表)括号匹配问题假设一个算术表达式中包含圆括号、方括号和花括号三种类型的括号,编写一个函数,用来判别表达式中的括号是否正确配对,并设计一个测试主函数。**【算法思想】**在算术表达式中,右括号和左括号匹配的次序正好符合后到的括号要最先被匹配的“后进先出”堆栈操作特点,因此可以借助一个堆栈来进行判断。括号匹配共有以下4种情况:左、右括号配对次序不正确;右括号多于左…

    2022年4月15日
    131
  • CSDN提现规则说明(更新:支持实时提现)

    提现范围1、博客(付费专栏、VIP可见文章)、学院讲师、必问、活动业务线等的收益进行合并提现;提现标准1、必须进行实名认证才可以进行提现;

    2022年4月12日
    59
  • ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    2021年10月18日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号