DB2中的数据类型,默认值,及列修改DDL语句

来源:互联网 发布:java多线程实例代码 编辑:程序博客网 时间:2024/06/04 08:33

数据类型:


字符串类型描述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 FLOAT0定长字符串CHAR or GRAPHIC

BINARY

空格

十六进制0

变长字符串VARCHAR, CLOB, VARGRAPHIC, DBCLOB, VARBINARY, or BLOB空串日期DATE当前日期时间TIME当前时间时间日期TIMESTAMP当前 TIMESTAMPROWIDsROWIDDB2生成

关于ALTER COLUMN:

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

1.更改类型(设置为主键的列不能更改类型)ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DATA TYPE VARCHAR(32);2.更改默认值ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DEFAULT 'ABC';系统默认值:ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET DEFAULT; --设置默认值ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" DROP DEFAULT; --删除默认值3.更改是否允许空值ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" SET NOT NULL;ALTER TABLE "SCHEMA"."TABLENAME" ALTER COLUMN "COL" DROP NOT NULL;更改列类型,是否允许空值后,需要执行REORG TABLE "TABLENAME";更改默认值后,通常需要执行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

原创粉丝点击