db2 數據類型


數據類型:

字符串類型 描述
CHARACTER(n) n bytes定長字符串. n 大於0 不大於255. 默認 1.
VARCHAR(n) 變長字符串,最大 n bytes. n大於 0 小於表空間的 page size. 最大32704.
CLOB(n) 變長字符串,最大2 147 483 647.默認1.
GRAPHIC(n) 定長圖形字符串, n 個雙字節字符. n 大於 0 小於128. 默認 1.
VARGRAPHIC(n) 變長圖形字符串. 最大長度 n, 大於0小於表空間的page size. 最大16352.
DBCLOB(n) 雙字節變長字符串, n不能超過 1 073 741 824.默認1.
BINARY(n) 定長或變長二進制字符串. n 大於 0 不大於 255. 默認1.
VARBINARY(n) 變長二進制字符串,n大於 0小於表空間的 page size. 最大 32704.
BLOB(n) 變長二進制字符串,n 不大於 2 147 483 647. 默認 1.
數值類型 描述
SMALLINT 小整數,精度(即通常說的長度) 15 bits. 范圍 -32768 到 +32767.

INTEGER or
INT

整數,精度 31 bits的二進制整數,范圍 -2147483648 到 +2147483647.
BIGINT 大整數,精度 63 bits二進制整數,范圍 -9223372036854775808 到 +9223372036854775807.

DECIMAL or
NUMERIC

壓縮十進制數,小數點位置由precision和scale決定,scale非負且小於精度.最大精度 31 digits.

decimal 列中的值有同樣的precision 和 scale.范圍 1 - 10³¹ 到 10³¹ - 1.

DECFLOAT 十進制浮點數,最大精度 34 位.(早期DB2版本不支持)
REAL 單精度浮點數,32 bits.范圍大約為 -7.2E+75 到 7.2E+75.最大負值約為 -5.4E-79, 最小正值約為 5.4E-079.
DOUBLE 雙精度浮點數,64-bits. 范圍大約為 -7.2E+75 到 7.2E+75.最大負值約為 -5.4E-79, 最小正值約為 5.4E-079.
時間日期類型 描述
DATE 年月日組成的日期,范圍 0001-01-01 到 9999-12-31.
TIME 時分秒組成的時間,范圍 00.00.00 到 24.00.00.
TIMESTAMP 年月日時分秒微妙組成的時間,范圍 0001-01-01-00.00.00.000000000 到 9999-12-31-24.00.00.000000000 精確到納秒. 可保存時區信息

 

 

Character large objects (CLOBs)存儲超過VARCHAR限制的文本。Double-byte character large objects (DBCLOBs)
Binary large objects (BLOBs)存儲圖片,音頻,視頻。

 

Distinct Types :用戶自定義類型,是基於DB2內置類型的別名,但DB2會將其作為不同的類型進行處理。例如:

 

CREATE DISTINCT TYPE US_DOLLAR AS DECIMAL (9,2);
CREATE DISTINCT TYPE CANADIAN_DOLLAR AS DECIMAL (9,2);

 

系統默認值:

 

類型 類型 Default
數值 SMALLINT, INTEGER, BIGINT, DECIMAL, NUMERIC, REAL, DOUBLE, DECFLOAT, or FLOAT 0
定長字符串 CHAR or GRAPHIC

BINARY

空格

十六進制0

變長字符串 VARCHAR, CLOB, VARGRAPHIC, DBCLOB, VARBINARY, or BLOB 空串
日期 DATE 當前日期
時間 TIME 當前時間
時間日期 TIMESTAMP 當前 TIMESTAMP
ROWIDs ROWID DB2生成

 

 

關於ALTER COLUMN:

DB2支持ALTER TABLE ALTER COLUMN...但列屬性的更改需要分開操作:

 

[sql]  view plain  copy
 
  1. 1.更改類型(設置為主鍵的列不能更改類型)  
  2. ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DATA TYPE VARCHAR(32);  
  3. 2.更改默認值  
  4. ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DEFAULT 'ABC';  
  5. 系統默認值:  
  6. ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DEFAULT; --設置默認值  
  7. ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" DROP DEFAULT; --刪除默認值  
  8. 3.更改是否允許空值  
  9. ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET NOT NULL;  
  10. ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" DROP NOT NULL;  
  11. 更改列類型,是否允許空值后,需要執行REORG TABLE "TABLENAME";  
  12. 更改默認值后,通常需要執行UPDATE "SCHEMA"."TABLENAME" SET "COL" = DEFAULT WHERE "COL" IS NULL;  



 

部分內容引自:http://pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_stringdatatypes.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM