DB2 資料庫中的資料型別
DB2資料庫的內建資料型別主要分成數值型(numeric)、字串型(character string)、圖形字串(graphic string)、二進位制字串型(binary string)或日期時間型(datetime)。還有一種叫做 DATALINK 的特殊資料型別。DATALINK 值包含了對儲存在資料庫以外的檔案的邏輯引用。
數值型資料型別包括 SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL 和 DOUBLE。所有數值都有符號和精度。精度是指除符號以外的二進位制或十進位制的位數。如果數字的值大於等於零,就認為符號為正。
小整型,SMALLINT:小整型是兩個位元組的整數,精度為 5 位。小整型的範圍從 -32,768 到 32,767。
大整型,INTEGER 或 INT:大整型是四個位元組的整數,精度為 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。
小數型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s) 或 NUM(p,s):小數型的值是一種壓縮十進位制數,它有一個隱含的小數點。壓縮十進位制數將以二-十進位制編碼(binary-coded decimal,BCD)記數法的變體來儲存。小數點的位置取決於數字的精度(p)和小數位(s)。小數位是指數字的小數部分的位數,它不可以是負數,也不能大於精度。最大精度是 31 位。小數型的範圍從 -10**31+1 到 10**31-1。
單精度浮點數(Single-precision floating-point),REAL:單精度浮點數是實數的 32 位近似值。數字可以為零,或者在從 -3.402E+38 到 -1.175E-37 或從 1.175E-37 到 3.402E+38 的範圍內。
雙精度浮點數(Double-precision floating-point),DOUBLE,DOUBLE PRECISION 或 FLOAT:雙精度浮點數是實數的 64 位近似值。數字可以為零,或者在從 -1.79769E+308 到 -2.225E-307 或從 2.225E-307 到 1.79769E+308 的範圍內。
字串是位元組序列。字串包括 CHAR(n) 型別的定長字串和 VARCHAR(n)、LONG VARCHAR 或 CLOB(n) 型別的變長字串。字串的長度就是序列中的位元組數。
定長字串,CHARACTER(n) 或 CHAR(n):定長字串的長度介於 1 到 254 位元組之間。如果沒有指定長度,那麼就認為是 1 個位元組。
變長字串,VARCHAR(n)、CHARACTER VARYING(n) 或 CHAR VARYING(n):VARCHAR(n) 型別的字串是變長字串,最長可達 32,672 位元組。
LONG VARCHAR:LONG VARCHAR 型別的字串是變長字串,最長可達 32,700 位元組。
字元大物件字串(Character Large Object String),CLOB(n[K|M|G]):CLOB 是變長字串,最長可以達到 2,147,483,647 位元組。如果只指定了 n,那麼 n 的值就是最大長度。如果指定了 nK,那麼最大長度就是 n*1,024(n 的最大值為 2,097,152)。如果指定了 nM,那麼最大長度就是 n*1,048,576(n 的最大值為 2,048)。如果指定了 nG,那麼最大長度就是 n*1,073,741,824(n 的最大值是 2)。CLOB 用於儲存基於大單位元組字符集(single-byte character set,SBCS)字元的資料或基於混合(多位元組字符集(MBCS)和 SBCS)字元的資料。圖形字串是表示雙位元組字元資料的位元組序列。圖形字串包括型別為 GRAPHIC(n) 的定長圖形字串和型別為 VARGRAPHIC(n)、LONG VARGRAPHIC 和 DBCLOB(n) 的變長圖形字串。字串的長度就是序列中雙位元組字元的數目。
定長圖形字串,GRAPHIC(n):定長圖形字串的長度介於 1 到 127 個雙位元組字元之間。如果沒有指定長度,就認為是 1 個雙位元組字元。
變長圖形字串,VARGRAPHIC(n):VARGRAPHIC(n) 型別的字串是變長圖形字串,最大長度可達 16,336 個雙位元組字元。
LONG VARGRAPHIC:LONG VARGRAPHIC 型別的字串是變長圖形字串,最大長度可達 16,350 個雙位元組字元。
雙位元組字元大物件字串,DBCLOB(n[K|M|G]):雙位元組字元大物件是變長雙位元組字元圖形字串,最長可達 1,073,741,823 個字元。如果只指定了 n,那麼 n 就是最大長度。如果指定了 nK,那麼最大長度就是 n*1,024(n 的最大值為 1,048,576)。如果指定了 nM,那麼最大長度就是 n*1,048,576(n 的最大值為 1,024)。如果指定了 nG,那麼最大長度就是 n*1,073,741,824(n 的最大值是 1)。DBCLOB 用於儲存基於大 DBCS(雙位元組字符集,double-byte character set)字元的資料。二進位制字串是位元組序列。二進位制字串包括 BLOB(n) 型別的變長字串,它用於容納非傳統型的資料,諸如圖片、語音或混合媒體等,還可以容納使用者定義的型別及使用者定義的函式的結構化資料。
*二進位制大物件,BLOB(n[K|M|G]):二進位制大物件是變長字串,最長可達 2,147,483,647 位元組。如果只指定了 n,那麼 n 就是最大長度。如果指定了 nK,那麼最大長度就是 n*1,024(n 的最大值為 2,097,152)。如果指定了 nM,那麼最大長度就是 n*1,048,576(n 的最大值為 2,048)。如果指定了 nG,那麼最大長度就是 n*1,073,741,824(n 的最大值是 2)。
日期時間型資料型別包括 DATE、TIME 和 TIMESTAMP。日期時間值可在某些算術和字串操作中使用,而且相容某些字串,但它們既不是字串,也不是數字。
DATE:DATE 是一個由三部分組成的值(年、月和日)。年份部分的範圍是從 0001 到 9999。月份部分的範圍是從 1 到 12。日部分的範圍是從 1 到 n,其中 n 的值取決於月份。DATE 列長 10 個位元組。
TIME:TIME 是一個由三部分組成的值(小時、分鐘和秒)。小時部分的範圍是從 0 到 24。分鐘和秒部分的範圍都是從 0 到 59。如果小時為 24,分鐘和秒的值都是 0。TIME 列長 8 個位元組。
TIMESTAMP:TIMESTAMP 是一個由七部分組成的值(年、月、日、小時、分鐘、秒和微秒)。年份部分的範圍是從 0001 到 9999。月份部分的範圍是從 1 到 12。日部分的範圍是從 1 到 n,其中 n 的值取決於月份。小時部分的範圍是從 0 到 24。分鐘和秒部分的範圍都是從 0 到 59。微秒部分的範圍是從 000000 到 999999。如果小時是 24,那麼分鐘值、秒的值和微秒的值都是 0。TIMESTAMP 列長 26 個位元組。日期時間值的字串表示:儘管 DATE、TIME 和 TIMESTAMP 的值的內部表示對使用者是透明的,日期、時間和時間戳記也可以用字串來表示,CHAR 標量函式(請參閱 SQL 的“詞類(parts of speech)”)可以用於建立日期時間值的字串表示。
日期值的字串表示是一個以數字開始,長度不少於 8 個字元的字串。日期值的月份和日部分中前面的零可以省略。
時間值的字串表示是以數字開頭,長度不少於 4 個字元的字串。時間值的小時部分前面的零可以省略,秒部分可以完全省略。如果秒的值沒有指定,那麼就認為是 0。
時間戳記值的字串表示是以數字開頭,長度不少於 16 個字元的字串。完整的時間戳記字串表示形式為 yyyy-mm-dd-hh.mm.ss.nnnnnn。時間戳記值的月、日或小時等幾部分前面的零可以省略,微秒可以截斷或完全省略。如果任何時間戳記值的微秒部分尾零被省略掉了,那麼將假定空缺的數位上為零
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/177006/viewspace-720200/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DB2資料庫中的各資料型別DB2資料庫資料型別
- 帶你輕鬆接觸”DB2″資料庫中的資料型別DB2資料庫資料型別
- Java中的基本資料型別與引用資料型別Java資料型別
- 資料庫中欄位資料型別以及約束資料庫資料型別
- mysql資料庫中decimal資料型別比較大小MySql資料庫Decimal資料型別
- 常用資料庫基本資料型別資料庫資料型別
- JAVA中基本資料型別和引用資料型別Java資料型別
- Java中的資料型別Java資料型別
- javascript中的資料型別JavaScript資料型別
- java語言操作Oracle資料庫中的CLOB資料型別 (轉)JavaOracle資料庫資料型別
- JS中其他資料型別轉為number資料型別的方法JS資料型別
- DB2中安裝sample資料庫和TOLLSDB資料庫DB2資料庫
- 關係型資料庫和非關係型資料庫的區別資料庫
- MySQL(二) 資料庫資料型別詳解MySql資料庫資料型別
- java處理資料庫date型別資料Java資料庫型別
- SQL Server資料庫中的資料型別隱式轉換問題SQLServer資料庫資料型別
- 從鍵盤鍵入String型別的資料插入資料庫中型別資料庫
- js資料型別之基本資料型別和引用資料型別JS資料型別
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- 【資料庫】資料庫儲存元素型別基礎資料庫型別
- 資料型別: 資料型別有哪些?資料型別
- 資料庫型別區分資料庫型別
- pandas中的series資料型別資料型別
- Hive中的集合資料型別Hive資料型別
- MySQL 資料庫的對庫的操作及其資料型別悔鋒MySql資料庫資料型別
- db2 資料庫DB2資料庫
- 資料庫text型別的長度?資料庫型別
- rhel5 mysql 資料庫_列_資料型別MySql資料庫資料型別
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- 強資料型別和弱資料型別資料型別
- 檢視主資料庫的物件中是否使用了不支援的資料型別資料庫物件資料型別
- 根據連線的資料庫判斷資料庫型別(JAVA)資料庫型別Java
- 建立一個MySQL資料庫中的datetime型別MySql資料庫型別
- 資料庫中Date型別的計算 DATEDIFF() 函式資料庫型別函式
- MySQL資料庫中的timestamp型別與時區MySql資料庫型別
- sqlite 資料庫 支援的資料型別 以及常用的函式SQLite資料庫資料型別函式
- ClickHouse資料庫資料定義手記之資料型別資料庫資料型別
- Mysql資料庫學習(二):資料型別(數值型別 日期和時間型別 字串型別)MySql資料庫資料型別字串