PL/SQL number型數(shù)據(jù)
number(<p>,<s>)
精度p取值范圍1~38
有效位s取值范圍-84~127
最高整數(shù)位數(shù)=p-s
s正數(shù),小數(shù)點右邊指定位置開始四舍五入
s負(fù)數(shù),小數(shù)點左邊指定位置開始四舍五入
s是0或者未指定,四舍五入到最近整數(shù)
當(dāng)p小于s時候,表示數(shù)字是絕對值小于1的數(shù)字,且從小數(shù)點右邊開始的前s-p 位必須是0,保留s位小數(shù)。
--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;
A | B | C | D | E | F | |
1 | 123.3333 | 123.33 | 100 | 123 | 123 | -0.00030 |
2 | 197.9333 | 197.93 | 200 | 198 | 198 | 0.00013 |
(在pl/sql dev sql窗口顯示)
--num_test end--------------------------------------------------------
似乎結(jié)果很正確,可是現(xiàn)在出來一個問題,當(dāng)我不在pl/sql dev窗口運行,我在isqlplus中運行,結(jié)果就有點不一樣了,注意,第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下測試也是同樣的效果。
不過本人的意向應(yīng)該是還是保留那個0的,因為number(2,5)它畢竟指定了有效位是5位。
相關(guān)文章
oracle 函數(shù)判斷字符串是否包含圖片格式的實例代碼
本文通過實例代碼給大家介紹了oracle 函數(shù)判斷字符串是否包含圖片格式的相關(guān)資料,需要的朋友可以參考下2017-07-07Oracle數(shù)據(jù)庫中如何按天、周、月、季、年統(tǒng)計數(shù)據(jù)
我們經(jīng)常遇到一些需求,需要我們在sql語句中對日期進(jìn)行分類統(tǒng)計,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫中如何按天、周、月、季、年統(tǒng)計數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2024-03-03使用IDEA對Oracle數(shù)據(jù)庫進(jìn)行簡單增刪改查操作
這篇文章主要介紹了使用IDEA對Oracle數(shù)據(jù)庫進(jìn)行簡單增刪改查操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01oracle 11g的警告日志和監(jiān)聽日志的刪除方法
這篇文章主要介紹了oracle 11g的警告日志和監(jiān)聽日志的刪除方法,需要的朋友可以參考下2014-07-07