您的位置:首页 > 其它

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

2013-04-12 15:53 316 查看
数据类型:



字符串类型描述
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当前 TIMESTAMP
ROWIDsROWIDDB2生成
关于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: