DB2中修改列(column)的数据类型(Data Type)
来源:互联网 发布:跑男第三季网络直播 编辑:程序博客网 时间:2024/05/29 14:42
无论是开发人员,或者数据库管理员,无论我们如何努力,如何小心,都难免会需要更改表子段的类型。 主要有以下原因:
- 字段长度不够用
- 字段类型和本地数据库的其它表相同业务含义的字段没有保持一致
- 字段类型和外部系统相同业务含义的字段没有保持一致
在DB2中如何修改字段类型:
基本语法: alter table <TABLE_NAME> alter column <COLUMN_NAME> set data type <NEW TYPE>Examples: alter table HR.EMPLOYEE alter column HOBBY set data type varchar(300);
注意: 修改后的新类型<NEW TYPE>相比修改前的数据类型,必须是castable(可转换,详细信息参考本文后面的官方文档,但是又一个重要的原则就是不能你让数据库为难,比如字段里有20个字节的数据,你非得转成10个字节那就不行,如果CHAR字段里含有‘aa',你非得转变成int,那也不行)的。一般来说,在修改字段类型之后都需要做REORG(数据重组)
reorg table HR.EMPLOYEE with distribution and indexes all
但是如下的改动不需要做reorg. (我比较懒,除非表特别大,一般做完这种表结构改动后都会做一遍reorg /runstats)
- 增加VARCHAR, VARGRAPHIC, or VARBINARY的长度
- 减少VARCHAR, VARGRAPHIC, or VARBINARY的长度,但是不需要删除这些字段最后的空格,并且在此字段上无索引。
在DB2中如何修改字段从空=>非空:
基本语法: alter table <TABLE_NAME> alter column <COLUMN_NAME> set <NOT NULL>Examples: alter table HR.EMPLOYEE alter column HOBBY set not null;
在DB2中如何修改字段从非空=>空:
基本语法: alter table <TABLE_NAME> alter column <COLUMN_NAME> drop not nullExamples: alter table HR.EMPLOYEE alter column HOBBY drop not null;
详细ALTER TABLE 语法,请参考IBM DB2的Knowledge Center:
https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000888.html
详细哪些数据类型到哪些数据类型是Castable的参考:
https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0008478.html
1 0
- DB2中修改列(column)的数据类型(Data Type)
- DB2 修改列的数据类型例子
- 修改列的数据类型
- MySQL中修改列名或列的数据类型
- MySQL中修改列名或列的数据类型
- DB2 Data Type
- DB2 BLOB data type
- DB2 DECIMAL data type
- DB2中的数据类型,默认值,及列修改DDL语句
- ORACLE中修改已存数据的列的数据类型
- Mongodb修改列的数据类型
- Oracle 修改列的数据类型
- 【技巧】SQL中如何修改表格(table)中列(column)的默认值(default);
- data type : 数据类型
- db2修改列类型
- 【技巧】SQL中修改列名(column)
- 怎么样在客户端修改WebGrid的列(Column)的标题
- DB2中IDENTITY COLUMN测试
- Image_Loader内存缓存
- 编译期多态和运行期多态
- 计算机组成原理
- pandas学习笔记-Series
- TCP三次握手
- DB2中修改列(column)的数据类型(Data Type)
- TCP报文段结构
- zookeeper客户端SHELL操作命令
- 正则表达式使用
- git 下载代码问题处理
- Kubernetes 集群安装指南
- easyui datagrid列中使用tooltip
- 需求工程
- POJ 1789