首页 > 自学最好的方法是什么

oracle四舍五入(oracle四舍五入取整数)

Oracle round函数是什么意思怎么运用

Oracle Round函数的意思是四舍五入的方法,即传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。

Oracle Round函数使用示例如下:

SELECT ROUND( number, [ decimal_places ]) FROM DUAL

1、参数number是指需要处理的数值,是必须填写的值。

2、参数 decimal_places是指在进行四舍五入运算时,小数的应取的位数,该参数可以不填,不填的时候,系统默认小数位数取0。

3、函数应用举例:

①“select round(988.211, 0) from dual;”得到结果为:988

②“select round(988.211, 1) from dual;”得到结果为:988.2

③“select round(988.211, 2) from dual;”得到结果为:988.21

④“select round(988.211, 3) from dual;”得到结果为:988.211

⑤“select round(-988.211, 2) from dual;”得到结果为:-988.21

扩展资料:

四舍五入是一种精确度的计数保留法,与其他方法本质相同。

但特殊之处在于采用四舍五入,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一,假如0~9等概率出现的话,对大量的被保留数据,这种保留法的误差总和是最小的。

这也是我们使用这种方法为基本保留法的原因。

参考资料:百度百科-Round函数百度百科-四舍五入

Oracle中的number(10,0)是什么意思

意思是:Number(p)是声明一个整数,最多有10位有效数字,1位小数。

number(4,3)是表示这个数一共有4位是有效位,后面的3表示有3个是小数也就是这个数只能是1.234,这样格式的最大只能是9.999。

number(3,4)表示这个数有效位数是3位但是有四位小数也就是只能是这个格式0.0123最大只能是0.0999。

扩展资料

Number类型的用法

p(precision)为精度,精度最大值为38;

s(scale)表示小数点右边的数字个数,scale的取值范围为-84到127;

因此,Number(p)即是声明一个整数,相当于Number(p,0),即等同于int型;

例子:

Number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;

Number(8)存储总长度为8的整数。

oracle 数据类型

按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID& UROWID类型。

在讲叙字符串类型前,先要讲一下编码。字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两种。数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块中。通过不同的编码集转换,即便是相同的字符,也可能会转换成不同的二进制编码。这也是产生乱码的原因。数据库的编码格式一般是在创建数据库时指定的。当然也可以修改数据库的编码。

一字符串类型

1.1:CHAR类型 CHAR(size [BYTE| CHAR])

CHAR类型,定长字符串,会用空格填充来达到其最大长度。非NULL的CHAR(12)总是包含12字节信息。CHAR字段最多可以存储2,000字节的信息。如果创建表时,不指定CHAR长度,则默认为1。另外你可以指定它存储字节或字符,例如 CHAR(12 BYTYE) CHAR(12 CHAR).一般来说默认是存储字节

注意:数据库的NLS_CHARACTERSET为AL32UTF8,即一个汉字占用三到四个字节。如果NLS_CHARACTERSET为ZHS16GBK,则一个字符占用两个字节。

1.2: NCHAR类型

这是一个包含UNICODE格式数据的定长字符串。NCHAR字段最多可以存储2,000字节的信息。它的最大长度取决于*字符集。

1.3 VARCHAR类型

不要使用VARCHAR数据类型。使用VARCHAR2数据类型。

1.4: VARCHAR2类型

变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4,000字节的信息。

1.5: NVARCHAR2类型

这是一个包含UNICODE格式数据的变长字符串。 NVARCHAR2最多可以存储4,000字节的信息。

二.数字类型

2.1 NUMBER类型

NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10130~10126(不包含此值),需要1~22字节(BYTE)不等的存储空间。

P是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字

S是Scale的英文缩写,可以使用的范围为-84~127。Scale为正数时,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数

下面是官方文档的示例

Actual Data Specified As Stored As

123.89 NUMBER 123.89

123.89 NUMBER(3) 124

123.89 NUMBER(6,2) 123.89

123.89 NUMBER(6,1) 123.9

123.89 NUMBER(3) 124

123.89 NUMBER(4,2) exceeds precision

123.89 NUMBER(6,-2) 100

.01234 NUMBER(4,5).01234

.00012 NUMBER(4,5).00012

.000127 NUMBER(4,5).00013

.0000012 NUMBER(2,7).0000012

.00000123 NUMBER(2,7).0000012

1.2e-4 NUMBER(2,5) 0.00012

1.2e-5 NUMBER(2,5) 0.00001

2.2 INTEGER类型

INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若*、更新的数值有小数,则会被四舍五入。

2.3浮点数

Oracle数据库提供了专为浮点数的两种数值数据类型:

BINARY_FLOAT

BINARY_FLOAT是 32位、单精度浮点数字数据类型。可以支持至少6位精度,每个 BINARY_FLOAT的值需要 5个字节,包括长度字节。

BINARY_DOUBLE

BINARY_DOUBLE是为 64位,双精度浮点数字数据类型。每个 BINARY_DOUBLE的值需要 9个字节,包括长度字节。

在数字的列中,浮点数有小数精度。在 BINARY_FLOAT或 BINARY_DOUBLE的列中,浮点数有二进制的精度。二进制浮点数支持的特殊值无穷大和 NaN(不是数字)。

2.5 FLOAT类型

FLOAT类型也是NUMBER的子类型。

Float(n),数 n指示位的精度,可以存储的值的数目。N值的范围可以从 1到 126。若要从二进制转换为十进制的精度,请将 n乘以 0.30103。要从十进制转换为二进制的精度,请用 3.32193乘小数精度。126位二进制精度的最大值是大约相当于 38位小数精度。

三.日期类型

日期类型用于存储日期数据,但是并不是使用一般的格式(2012-08-08)直接存储到数据库的。

3.1 DATE类型

DATE是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle存储以下信息:世纪、年、月、日期、小时、分钟和秒。一般占用7个字节的存储空间。

3.2 TIMESTAMP类型

这是一个7字节或12字节的定宽日期/时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位

3.3 TIMESTAMP WITH TIME ZONE类型

这是TIMESTAMP类型的变种,它包含了时区偏移量的值

3.4 TIMESTAMP WITH LOCAL TIME ZONE类型

3.5 INTERVAL YEAR TO MOTH

3.6 INTERVAL DAY TO SECOND

四. LOB类型

内置的LOB数据类型包括BLOB、CLOB、NCLOB、BFILE(外部存储)的大型化和非结构化数据,如文本、图像、视屏、空间数据存储。BLOB、CLOB、NCLOB类型

4.1 CLOB数据类型

它存储单字节和多字节字符数据。支持固定宽度和可变宽度的字符集。CLOB对象可以存储最多(4 gigabytes-1)*(database block size)大小的字符

4.2 NCLOB数据类型

它存储UNICODE类型的数据,支持固定宽度和可变宽度的字符集,NCLOB对象可以存储最多(4 gigabytes-1)*(database block size)大小的文本数据。

4.3 BLOB数据类型

它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。BLOB对象最多存储(4 gigabytes-1)*(database block size)的二进制数据。

4.4 BFILE数据类型

二进制文件,存储在数据库外的系统文件,只读的,数据库会将该文件当二进制文件处理

五. RAW& LONG RAW类型

5.1 LONG类型

它存储变长字符串,最多达2G的字符数据(2GB是指2千兆字节,而不是2千兆字符),与VARCHAR2或CHAR类型一样,存储在LONG类型中的文本要进行字符集转换。ORACLE建议开发中使用CLOB替代LONG类型。支持LONG列只是为了保证向后兼容性。CLOB类型比LONG类型的限制要少得多。 LONG类型的限制如下:

1.一个表中只有一列可以为LONG型。(Why?有些不明白)

2.LONG列不能定义为主键或唯一约束,

3.不能建立索引

4.LONG数据不能指定正则表达式。

5.函数或存储过程不能接受LONG数据类型的参数。

6.LONG列不能出现在WHERE子句或完整性约束(除了可能会出现NULL和NOT NULL约束)

5.2 LONG RAW类型,能存储2GB的原始二进制数据(不用进行字符集转换的数据)

5.3 RAW类型

用于存储二进制或字符类型数据,变长二进制数据类型,这说明采用这种数据类型存储的数据不会发生字符集转换。这种类型最多可以存储2,000字节的信息

六. ROWID& UROWID类型

在数据库中的每一行都有一个地址。然而,一些表行的地址不是物理或永久的,或者不是ORACLE数据库生成的。

例如,索引组织表行地址存储在索引的叶子,可以移动。

例如,外部表的ROWID(如通过网关访问DB2表)不是​​标准的ORACLE的rowid。

ORACLE使用通用的ROWID(UROWIDs)的存储地址的索引组织表和外表。索引组织表有逻辑urowids的,和国外表的外urowids。UROWID这两种类型的存储在ROWID伪(堆组织的表的物理行id)。

创建基于逻辑的rowid在表中的主键。逻辑的rowid不会改变,只要主键不改变。索引组织表的ROWID伪UROWID数据类型。你可以访问这个伪列,你会堆组织表的ROWID伪(即使用一个SELECT…ROWID语句)。如果你想存储的rowid索引组织表,那么你就可以定义一列的表型UROWID到列检索值的ROWID伪。

oracle round日期函数 天数如何四舍五入

首先你的例子数据错了,不是21号,应该是24号。这样就没问题了。

看你列出的数据,应该是格式由小到大,逐步四舍五入的一个过程。

这个算法如下:

round(带小时分秒日期,格式)

格式是秒SS,精确到秒。

分MI,到分,秒数30是分界线,相当于四舍五入的5,如果秒超过30,向前进1

时HH,如果分超过30,向前进1

日DD,如果小时超过12,向前进1

月MM,16号是临界,相当于四舍五入的5,如果超过16号,向前进1

年YY,超过7月,向前进1

对应的语句分别是

select to_date('1999-11-24 10:31:11','yyyy-mm-dd hh24:mi:ss') from dual;

select round(to_date('1999-11-24 10:31:11','yyyy-mm-dd hh24:mi:ss'),'mi') from dual;

select round(to_date('1999-11-24 10:31:11','yyyy-mm-dd hh24:mi:ss'),'hh') from dual;

select round(to_date('1999-11-24 10:31:11','yyyy-mm-dd hh24:mi:ss'),'dd') from dual;

select round(to_date('1999-11-24 10:31:11','yyyy-mm-dd hh24:mi:ss'),'mm') from dual;

select round(to_date('1999-11-24 10:31:11','yyyy-mm-dd hh24:mi:ss'),'yy') from dual;

本文链接:http://www.kmjbhy.com/html/87965607.html

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