DB2中的数据类型,默认值,及列修改DDL语句
2013-04-12 15:53
316 查看
数据类型:
![](http://img.my.csdn.net/uploads/201304/12/1365750485_6837.png)
Character large objects (CLOBs)
存储超过VARCHAR限制的文本。
Double-byte character large objects (DBCLOBs)
Binary large objects (BLOBs)
存储图片,音频,视频。
Distinct Types :用户自定义类型,是基于DB2内置类型的别名,但DB2会将其作为不同的类型进行处理。例如:
系统默认值:
关于ALTER COLUMN:
DB2支持ALTER TABLE ALTER COLUMN...但列属性的更改需要分开操作:
部分内容引自:http://pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_stringdatatypes.htm
![](http://img.my.csdn.net/uploads/201304/12/1365750485_6837.png)
字符串类型 | 描述 |
---|---|
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 精确到纳秒. 可保存时区信息 |
存储超过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生成 |
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
相关文章推荐
- Oracle Class2. SQL查询和SQL函数(Oracle数据类型,ddl,dml,dcl,事务控制语言tcl,sql操作符,sql函数,select语句,运算符,分析函数,临时表)
- 【Oracle】day01_数据类型_DDL语句_DML语句
- SQL语句增加字段、修改字段、修改类型、修改默认值
- Sql 语句添加字段、修改字段类型、默认值语法
- DB2中,LONG VARCHAR 数据类型的使用会受到什么语句的限制呢?
- Oracle:SQL语句--对表的操作——修改列的数据类型( 即 修改字段的数据类型)
- SQL语句增加字段、修改字段、修改类型、修改默认值
- SQL语句增加字段、修改字段、修改类型、修改默认值
- MYSQL-DDL建表语句及数据类型
- DB2中修改列(column)的数据类型(Data Type)
- 【备忘】SQL语句增加字段、修改字段、修改类型、修改默认值
- sql语句修改access中的字段类型,access数据类型大全!
- SQL语句增加字段、修改字段、修改类型、修改默认值
- IBM db2 修改 数据库表结构或字段数据类型后报错
- DB2 修改列的数据类型例子
- sql 语句修改数据字段类型
- SQL语句增加字段、修改字段、修改类型、修改默认值
- 用SQL语句修改MSSQL数据库表字段的默认值(downmoon)
- MySQL语句增加字段,修改字段名,修改类型,修改默认值
- SQL语句增加字段、修改字段、更改类型、修改默认值