最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle number類型使用解讀

 更新時(shí)間:2025年09月02日 09:48:09   作者:trayvontang  
Oracle的NUMBER類型通過precision(有效位數(shù))和scale(小數(shù)位數(shù))精確控制數(shù)值存儲(chǔ),與MySQL的DECIMAL類型類似但更細(xì)粒度,能優(yōu)化存儲(chǔ)空間和性能

簡(jiǎn)介

Oracle的number類型比較復(fù)雜,很多限制,但是掌握一點(diǎn)小技巧就能輕松搞定。

基本說明

number(precision,scale)

  1. precision表示數(shù)字中的有效位,從左邊第一個(gè)不為0的數(shù)算起,小數(shù)點(diǎn)和負(fù)號(hào)不計(jì)入有效位數(shù)
  2. precision的取值范圍是[1,38]
  3. precision默認(rèn)值為38,number等價(jià)于number(38)
  4. scale大于0,表示數(shù)字精確到小數(shù)點(diǎn)右邊的位數(shù),number(2,3)表示精確到小數(shù)點(diǎn)左邊3位
  5. scale小于0,表示數(shù)字取舍到小數(shù)點(diǎn)左邊的位數(shù),number(3,-2)表示四色五人到百位,123,變?yōu)?00
  6. scale的取值范圍是[-84,127]
  7. scale默認(rèn)值為0
  8. number整數(shù)部分允許的最大長(zhǎng)度為precision-scale
  9. number整數(shù)部分的長(zhǎng)度 大于 precision-scale 時(shí)出錯(cuò),例如number(3,2)就不能存12.34,因?yàn)榫炔粔?/li>
  10. number小數(shù)部分的長(zhǎng)度 大于 scale時(shí),就會(huì)對(duì)小數(shù)部分多出來的位數(shù)四舍五入,例如number(3,1),存儲(chǔ)3.1415的時(shí)候就會(huì)存3.1
  11. scale為負(fù)數(shù)時(shí),對(duì)小數(shù)點(diǎn)左邊的sacle個(gè)數(shù)字進(jìn)行四舍五入,如number(5,-3),存儲(chǔ)1234567.89,存儲(chǔ)值為1235000,可以看到0沒有占有有效位

違背第一直覺的項(xiàng)來了:

scale 大于 precision 時(shí), precision表示小數(shù)點(diǎn)后第scale位向左最多可以有多少位數(shù)字,如果大于p則出錯(cuò)錯(cuò),小數(shù)點(diǎn)后s位向右的數(shù)字四舍五入。

換個(gè)思路,換個(gè)說法,也許就好理解了。scale大于precision的時(shí)候,小數(shù)部分的精度大于整個(gè)數(shù)的精度只可能是一種情況,這個(gè)數(shù)就是小數(shù),并且多半是0.00…xx這種。

例如,number(2,3),小數(shù)部分有3位,但是數(shù)據(jù)只能精確兩位,那就只能存0.012這種,只需存12兩位有效數(shù)字,如果是0.12這種就存不了,因?yàn)?.12三位有效數(shù)字就是0.120,存不了這么多位。

容易出錯(cuò)情況

  1. number(8),存儲(chǔ)1234567.89是沒有問題,因?yàn)闆]有定義小數(shù)位,小數(shù)位被舍棄合理
  2. number(6),不能存儲(chǔ)1234567.89,雖然沒有存儲(chǔ)小數(shù)位,但是整數(shù)位也不夠
  3. number(9,3),不能存儲(chǔ)1234567.89,雖然精度是9位,但是定義了小數(shù)位占了3位,只有6位整數(shù)位,1234567有7位
  4. number(7,2),不能存儲(chǔ)1234567.89,沒啥好說的,精度不夠,7位不足以存儲(chǔ)9位數(shù)字
  5. number(2,3),不能存儲(chǔ)0.23,小數(shù)部分有3位有效數(shù)字,0.230,精度只有2位,不足以存儲(chǔ)

Number與MySQL數(shù)據(jù)類型

MySQL數(shù)據(jù)類型字節(jié)大小范圍-有符號(hào)范圍-無符號(hào)oracle number
tinyint1 bytes(-128,127)(0,255)number(3)
smallint2 bytes(-32 768,32 767)(0,65 535)number(5)
mediumint3 bytes(-8 388 608,8 388 607)(0,16 777 215)number(8)
integer4 bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)number(10)
bigint8 bytes(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)number(20)

Oracle的number和MySQL的decimal非常像,但是在數(shù)據(jù)類型上區(qū)分的更細(xì),能更好的利用存儲(chǔ)空間,提高性能。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Oracle 12C實(shí)現(xiàn)跨網(wǎng)絡(luò)傳輸數(shù)據(jù)庫(kù)詳解

    Oracle 12C實(shí)現(xiàn)跨網(wǎng)絡(luò)傳輸數(shù)據(jù)庫(kù)詳解

    這篇文章主要給大家介紹了關(guān)于Oracle 12C實(shí)現(xiàn)跨網(wǎng)絡(luò)傳輸數(shù)據(jù)庫(kù)的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 詳解Oracle的sqlldr理論

    詳解Oracle的sqlldr理論

    這篇文章主要介紹了詳解Oracle的sqlldr理論,SQL*LOADER是ORACLE的數(shù)據(jù)加載工具,通常用來將操作系統(tǒng)文件(數(shù)據(jù))遷移到ORACLE數(shù)據(jù)庫(kù)中,SQL*LOADER是大型數(shù)據(jù)倉(cāng)庫(kù)選擇使用的加載方法,因?yàn)樗峁┝俗羁焖俚耐緩?DIRECT,PARALLEL),需要的朋友可以參考下
    2023-07-07
  • oracle數(shù)據(jù)庫(kù)刪除數(shù)據(jù)Delete語句和Truncate語句的使用比較

    oracle數(shù)據(jù)庫(kù)刪除數(shù)據(jù)Delete語句和Truncate語句的使用比較

    oracle當(dāng)表中的數(shù)據(jù)不需要時(shí),則應(yīng)該刪除該數(shù)據(jù)并釋放所占用的空間,刪除表中的數(shù)據(jù)可以使用Delete語句或者Truncate語句,下面分別介紹
    2012-09-09
  • Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù)

    Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù)

    這篇文章主要介紹了Oracle刪除重復(fù)的數(shù)據(jù),Oracle數(shù)據(jù)去重復(fù),需要的朋友可以參考下
    2016-08-08
  • oracle中誤刪除表后恢復(fù)語句(FLASHBACK)

    oracle中誤刪除表后恢復(fù)語句(FLASHBACK)

    在操作過程中難免會(huì)誤操作,出現(xiàn)這種情況應(yīng)該怎樣解決呢?不要著急,下面與大家分享下誤刪的恢復(fù)語句
    2013-06-06
  • Oracle向量搜索功能測(cè)試報(bào)告詳解

    Oracle向量搜索功能測(cè)試報(bào)告詳解

    這篇文章主要介紹了Oracle向量搜索功能測(cè)試報(bào)告的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2026-03-03
  • Oracle通過sqlplus連接數(shù)據(jù)庫(kù)的方式

    Oracle通過sqlplus連接數(shù)據(jù)庫(kù)的方式

    今天小編就為大家分享一篇關(guān)于Oracle通過sqlplus連接數(shù)據(jù)庫(kù)的方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • oracle—SQL技巧之(一)連續(xù)記錄查詢sql案例測(cè)試

    oracle—SQL技巧之(一)連續(xù)記錄查詢sql案例測(cè)試

    有這樣一個(gè)需求:需要查詢出某個(gè)客戶某一年那些天是有連續(xù)辦理過業(yè)務(wù),本文給予sql實(shí)現(xiàn)語句并測(cè)試,感興趣的朋友可以了解下
    2013-01-01
  • Oracle?ORA-00904:標(biāo)識(shí)符無效解決方法(太坑了!!)

    Oracle?ORA-00904:標(biāo)識(shí)符無效解決方法(太坑了!!)

    最近執(zhí)行sql時(shí)oracle報(bào)錯(cuò)ORA-00904:標(biāo)識(shí)符無效,所以這篇文章主要給大家介紹了關(guān)于Oracle?ORA-00904:標(biāo)識(shí)符無效解決方法的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • 詳細(xì)聊聊Oracle表碎片對(duì)性能有多大的影響

    詳細(xì)聊聊Oracle表碎片對(duì)性能有多大的影響

    當(dāng)針對(duì)一個(gè)表的刪除操作很多時(shí),表會(huì)產(chǎn)生大量碎片,下面這篇文章主要給大家介紹了關(guān)于Oracle表碎片對(duì)性能影響的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03

最新評(píng)論

包头市| 夹江县| 昌江| 景宁| 潍坊市| 和龙市| 独山县| 阜城县| 馆陶县| 樟树市| 民权县| 桦南县| 甘孜县| 贵定县| 左权县| 阜城县| 华安县| 特克斯县| 万山特区| 凌源市| 酉阳| 叶城县| 辛集市| 屏山县| 黑水县| 阜城县| 永清县| 观塘区| 金门县| 东兰县| 新昌县| 雷波县| 汉沽区| 夏津县| 东乡族自治县| 互助| 晋宁县| 兴山县| 普兰店市| 蒙城县| 淅川县|