大家好,又见面了,我是你们的朋友全栈君。
1.简介
一个可变长度的数据类型,使用四舍五入实现;
既可以存储整数,也可以存储小数;
2.使用语法
(1)可指定两个参数:
p : 精度位precision,数据的有效位;取值范围38;默认38;*表示38
s : 小数位scale,小数点右边的位数;取值范围-84~127;
默认:未指定p,默认s为最大范围;指定了p,默认s=0;
number s为最大范围
number(p) == number(p,0),声明的是一个整数
number(p,s)
(2)最高整数位数=p-s
s正数,精确到小数点右边s位,四舍五入;
s负数,精确到小数点左边s位,四舍五入;
s是0或者未指定,四舍五入到最近整数;
(3)当一个数的整数部分的长度 > p-s 时,Oracle就会报错
(4)number类型的p和s,与其底层存储完全没有关系,根本不会影响数据在磁盘上如何存储,它只会影响允许哪些值以及数值如何舍入,你可以认为其是对数据的“编辑”。
3.使用参照表
实际值 |
数据类型 |
存储值 |
1234567.89 |
Number |
1234567.89 |
1234567.89 |
Number(8) |
1234567 |
1234567.89 |
Number(6) |
出错 |
1234567.89 |
Number(9,1) |
1234567.9 |
1234567.89 |
Number(9,3) |
出错 |
1234567.89 |
Number(7,2) |
出错 |
1234567.89 |
Number(5,-2) |
1234600 |
1234511.89 |
Number(5,-2) |
1234500 |
1234567.89 |
Number(5,-4) |
1230000 |
1234567.89 |
Number(*,1) |
1234567.9 |
0.012 |
Number(2,3) |
0.012 |
0.23 |
Number(2,3) |
出错 |
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163934.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...