亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

DB2 數據類型

系統 2730 0

在表中存儲數據時,不同類型的數據占用的空間和存儲的方式都不相同。接下來,我們就簡單認識一下 DB2 中的各種數據類型(Data Type)。

DB2 主要分成兩類數據類型:內置的數據類型和用戶自定義的數據類型。本節只介紹內置類型,用戶自定義類型在 3.17.2 節介紹。

內置數據類型主要包括數值型、文本型、日期時間型和 XML 四大類。

3.11.1 數值型

數值型具體劃分如圖 3.19 所示。


圖 3.19 數值型數據的種類
? DB2 數據類型

SMALLINT 稱為小整型或短整型,是兩個字節的整數,精度為 5 位,其數據表示范圍從 -32,768 到 32,767。

INT 稱為整型,也可以寫成 INTEGER,是四個字節的整數,精度為 10 位,其數據表示范圍從 -2,147,483,648 到 2,147,483,647。

BIGINT 稱為大整型或長整型,是八個字節的整數,精度為 19 位,其數據表示范圍從 9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。

REAL 稱為單精度浮點數,是實數的 32 位近似值。數字可以為零,或者在從 -3.402E+38 到 -1.175E-37 或從 1.175E-37 到 3.402E+38 的范圍內。

DOUBLE 稱為雙精度浮點數,是實數的 64 位近似值。數字可以為零,或者在從 -1.79769E+308 到 -2.225E-307 或從 2.225E-307 到 1.79769E+308 的范圍內。

DECFLOAT 稱為十進制浮點數,是 V9.5 中引入的新數據類型,適合于處理準確的十進制業務。它具有 DECIMAL 類型的準確性,同時又具有浮點數的性能優勢,特別適合于在處理貨幣值相關的應用程序中使用。

DECIMAL 稱為十進制數,是一種可以自己定義小數位數的壓縮型十進制數,也可以寫成 DEC,NUMERIC 或者 NUM,定義這種類型的數據需要指定兩個參數:DECIMAL(p,s)。p 表示數字的總長度(不包括正負號和小數點),s 表示小數長度。

DECIMAL 類型的數據可以精確地表示指定精度的小數。它所占用的存儲空間與第一個參數,即數字的總長度有關,計算公式為:tranc(p/2)+1。其中 tranc 表示截取整數部分。

3.11.2 字符型

字符型具體劃分如 3.20 所示。


圖 3.20 字符型數據的種類
DB2 數據類型 ?

CHAR 稱為定長字符串,需要指定長度,如 CHAR(10)。也可以寫成 CHARACTER( 長度 )。定長字符串的長度介于 1 到 254 字節之間。如果沒有指定長度,那么就認為是 1 個字節。

VARCHAR 稱為變長字符串,需要指定最大長度,如 VARCHAR(20)。變長字符串長度的最大值是 32672。存儲變長字符串時,需要額外花費 4 個字節來記錄字符串的實際長度。所以,如果指定了 VARCHAR(20),每個這種類型的數據在硬盤上實際要占用 20+4=24 個字節的空間。

需要注意的是,對于變長字符串的實際占用存儲空間量還有一個限制:數據必須適合放在單個表空間頁面上。也就是說,對于使用 4K 頁表空間的表,長度不能超過 4 × 1024-4=4092 字節;對于 8K 頁表空間的表,長度不能超過 8 × 1024-4=8188 字節;對于 16K 頁表空間的表,長度不能超過 16 × 1024-4=16380 字節;對于 32K 頁表空間的表,長度不能超過 32 × 1024-4=32764 字節,但是該數超過了 VARCHAR 的最大長度 32672,所以對于 32K 頁表空間的表,最大能夠存放 32672 字節。默認情況下表空間為 4K,所以要使用 VARCHAR 類型來存儲超過 4092 字節的數據,就需要顯式創建更大頁大小的表空間。

LONG VARCHAR 稱為大型變長字符串,不需要指定最大長度,其最大可以存儲 32700 個字節。與 VARCHAR 類型不同的是,該數據類型不受表空間頁大小的限制,對于 4K 頁表空間的表,長度可以超過 4092 字節,只要不超過 32700 字節即可。實際在硬盤上占用的存儲空間為 ( 字符串長度 +24),24 個字節用于記錄與該數值相關的信息。

CLOB 稱為大對象字符串,需要指定長度,CLOB(n [K|M|G]),長度可以是字節,也可以是 K,M 或 G 等某一種單位,每個 CLOB 最大可以存儲 2G 字節的數據。CLOB 數據并不是直接存放在表中,而是單獨存放在一個表空間中,表中存放的是一個指針,指向對應的實際數據。

GRAPHIC,VARGRAPHIC,LONG GRAPHIC 和 DBCLOB 分別與前面的 CHAR,VARCHAR,LONG VARCHR 和 CLOB 對應,只是都存儲雙字節字符,存儲的長度都減小一半。

BLOB 稱為二進制大對象,也需要指定長度,BLOB(n [K|M|G]),長度可以是字節,也可以是 K,M 或 G 等某一種單位,每個 BLOB 最大可以存儲 2G 字節的二進制數據。與 CLOB 一樣,表中存放的也是指針,指向實際的數據。BLOB 適合于存放圖片、音頻、視頻的容量非常大的內容,DB2 本身不考慮存放的內容是什么,只是按照二進制的方式將數據存放起來,使用的時候還需要配合相應的函數,對不同內容的數據進行不同的處理。

3.11.3 日期時間型

日期時間型包括 DATE,TIME 和 TIMESTAMP 三種。

DATE 稱為日期型,能夠表示的年份范圍從公元 1 年到 9999 年中的任何一天,日期型數據顯示出來是固定長度的 10 位字符串,在硬盤上存儲需要占用 4 個字節,采用的是壓縮字符串形式進行存儲。

TIME 稱為時間型,能夠表示一天當中的時、分、秒,顯示出來是固定長度的 8 位字符串,在硬盤上存儲需要占用 3 個字節,采用的也是壓縮字符串形式進行存儲。

TIMESTAMP 稱為時間戳型,能夠表示年、月、日、時、分、秒,并且能夠精確到微秒級別(具體能夠精確到的位數還與計算機的硬件和操作系統有關)。

3.11.4 XML 類型

XML 是從 DB2 V9 開始引入的新的數據類型,能夠直接把 XML 數據作為內容存儲到表中,與以往把 XML 作為大對象存儲不同的是,從 V9 開始,提供了 XQuery(類似于關系數據庫中 SQL 的一種專門針對 XML 的查詢語言)直接對 XML 這種層次型的數據進行各種操作,關于 XQuery 的簡單介紹,請參見第 4 章。關于 XQuery 更詳細的介紹,可以閱讀本叢書的第二本《 DB2 深度解析——高級 DBA 和開發者篇》。

在 9.1 版本中,XML 數據是與表中數據分開存放的,XML 數據單獨存放在一個表空間中,而從 9.5 版本開始,長度比較短的 XML 數據直接存放在表中,長度很長的 XML 數據單獨存放在另外的表空間中,這樣有利于提高查詢效率。

3.11.5 空值

在關系數據庫中還存在一種特殊的類型:空值,用 Null 表示。如果一個值被設置為空值,表示該值不存在。空值可以放在任意的數據類型中來表示不存在。需要注意的是,空值不能參與任何的算術運算和邏輯運算。

DB2 數據類型


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品美女在线 | 久草在线观看首页 | 综合亚洲欧美 | 99精品国产久热在线观看66 | 日本欧美高清全视频 | 久久精品亚洲一区二区三区浴池 | 一级毛片在线免费播放 | 日本波多野结衣字幕久久 | 一区免费在线观看 | 国产精品99一区二区三区 | 国产精品资源在线 | 男女一级毛片 | 99色在线视频 | 日本色图在线 | 中文字幕 亚洲精品 | 伊人97| 国产一区视频在线免费观看 | 99视频在线精品 | 老司机午夜网站 | 日韩欧美精品一区二区三区 | 美女被爆羞羞视频网站视频 | 亚洲欧美综合乱码精品成人网 | 91久久综合九色综合欧美亚洲 | 亚洲欧洲日产国码久在线观看 | 国产精品久久久久久久久久久搜索 | 久久久久久久综合日本亚洲 | 天天看天天干 | 99在线观看国产 | 99国产精品九九视频免费看 | 天天干视频 | 日韩视频久久 | 久热免费在线视频 | 亚洲va欧美va国产va天堂影 | 狠狠色综合色综合网络 | www久久久久 | 色综合欧美亚洲另类久久 | 亚洲乱码在线播放 | 九九精品视频一区二区三区 | 精品免费久久久久久成人影院 | 国产精品欧美日韩精品 | 99精品国产久热在线观看66 |