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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • #1032 : 最长回文子串

    #1032 : 最长回文子串#1032:最长回文子串时间限制:1000ms单点时限:1000ms内存限制:64MB描述   小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。   这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在

    2022年6月3日
  • Linux网络抓包工具tcpdump[通俗易懂]

    Linux网络抓包工具tcpdump[通俗易懂]一、tcpdump介绍tcpdump是一个运行在命令行下的抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump适用于大多数的类Unix系统操作系统(如linux,BSD等)。二、安装&用法说明2.1、安装$yum-yinstalltcpdump2.2、用法说明tcpdump采用命令行方式,它的命令格式为tcpdump[-DenNqvX][-ccount][-Ffile][-iinterfac

    2022年8月22日
  • JDK1.8下载、安装和环境配置教程

    JDK1.8下载、安装和环境配置教程一、下载安装包1.JDK1.8百度云下载路径:链接:https://pan.baidu.com/s/1ozCGy53AIeQIHWL6s9oAbw提取码:04lf网盘放的是jdk1.8版本中的1.8.0_152的版本2.如果大家想下载别的版本,可以去官网:www.oracle.com下载,进入官网页面,然后点击Downloads。…

    2022年6月12日
  • 数据可视化与大数据分析

    数据可视化与大数据分析 商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。而数据分析是商业智通的途径之一,而大数据分析的结果可视化,对经营决策将起着关键作用。 数据可视化软件可以让数据分析师和业务用户利用图表、图形传达信息,帮助读者更加直观地理解数据背后的故事。但试图基于数据可视化来讲述故事的时候,你必须小心,特别是当你长时间沉浸在分析工作中受到熟悉内容蒙蔽的时候。要确…

    2022年6月4日
  • mysql读写分离实现事务_Mysql读写分离后的事务ce「建议收藏」

    mysql读写分离实现事务_Mysql读写分离后的事务ce「建议收藏」1.概述很多人会有这样的疑问,mysql读写分离后,我的事务怎么处理呢。不是说mysql不支持跨库事务吗?那我引入mycat这个中间件后事务是否是安全的呢,它是怎么运作的呢。今天我们就来实验一下2.设置首先设置事务锁的过期时间是5innodb_lock_wait_timeout=5意思是前面有人已经锁定这一行准备更新了,而你现在又去更新这行,那你只能等,等5秒。前面的人还没进行事务提交,那…

    2022年5月2日
  • python可变参数调用函数的问题

    python可变参数调用函数的问题

    2021年12月30日

发表回复

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

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