PL/SQL number型数据

受害者1亿

受害者1亿

2016-02-19 09:54

下面请跟着图老师小编一起来了解下PL/SQL number型数据,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

number(p,s)

精度p取值范围1~38
有效位s取值范围-84~127

最高整数位数=p-s

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

s正数,小数点右边指定位置开始四舍五入
s负数,小数点左边指定位置开始四舍五入
s是0或者未指定,四舍五入到最近整数
当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p 位必须是0,保留s位小数。


--num_test start------------------------------------------------

Connected to Oracle9i Enterprise Edition Release 9.0.1.1.1
Connected as aspire

SQL
SQL SET linesize 1000;
SQL CREATE TABLE hjm_num_test
2 (a NUMBER,
3 b NUMBER(5,2),
4 c NUMBER(5,-2),
5 d NUMBER(5,0),
6 e NUMBER(5),
7 f NUMBER(2,5));

Table created

SQL INSERT INTO hjm_num_test
2 (a,b,c,d,e,f) VALUES(123.3333,123.3333,123.3333,123.3333,123.3333,-0.0003);

1 row inserted

SQL INSERT INTO hjm_num_test
2 (a,b,c,d,e,f) VALUES(197.9333,197.9333,197.9333,197.9333,197.9333,0.00012567);

1 row inserted

SQL COMMIT;

Commit complete

SQL SELECT * FROM hjm_num_test;

ABCDEF1123.3333123.33100123123-0.000302197.9333197.932001981980.00013

(在pl/sql dev sql窗口显示)

--num_test end--------------------------------------------------------

似乎结果很正确,可是现在出来一个问题,当我不在pl/sql dev窗口运行,我在isqlplus中运行,结果就有点不一样了,注意,第1行的F列:

A B C D E F 123.3333 123.33 100 123 123 -.0003 197.9333 197.93 200 198 198 .00013

(在isqlplus中显示)

它舍去了末尾的0!在sqlplus下测试也是同样的效果。

不过本人的意向应该是还是保留那个0的,因为number(2,5)它毕竟指定了有效位是5位。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

PL/SQL number型数据

编程语言 网络编程
PL/SQL number型数据

PL/SQL数据类型及操作符

编程语言 网络编程
PL/SQL数据类型及操作符

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

PL/SQL实现Oracle数据库任务调度

SQLServer
PL/SQL实现Oracle数据库任务调度

PL/SQL基础:阶层查询

编程语言 网络编程
PL/SQL基础:阶层查询

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle PL/SQL入门慨述

编程语言 网络编程
Oracle PL/SQL入门慨述

通过PL/SQL访问Web Services

编程语言 网络编程
通过PL/SQL访问Web Services

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10玩游戏的时候怎么开启免打扰时间?

Win10玩游戏的时候怎么开启免打扰时间?

linux mysql 安装与操作

linux mysql 安装与操作
下拉加载更多内容 ↓