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 |
整数,精度 31 bits的二进制整数,范围 -2147483648 到 +2147483647. |
| BIGINT | 大整数,精度 63 bits二进制整数,范围 -9223372036854775808 到 +9223372036854775807. |
|
DECIMAL or |
压缩十进制数,小数点位置由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...但列属性的更改需要分开操作:
- 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;
db2 数据类型的更多相关文章
- DB2数据类型
DB2数据库的内置数据类型主要分成数值型(numeric).字符串型(character string).图形字符串(graphic string).二进制字符串型(binary string)或日期 ...
- Oracle VS DB2 数据类型
=========================Oracle VS DB2==================================== 本文转自:http://www.bitscn.co ...
- DB2数据类型(抄袭)
数字 数据类型 精度 最小值 最大值 smal ...
- DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比
随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多.进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换. 相关阅读: 从商用到开 ...
- DB2常用sql函数 (转载)
http://www.techonthenet.com/sql/index.php 一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字 ...
- Oracle的Numer类型与C,C#数据类型对应关系
最近一直在编和Oracle数据库相关程序.Oracle的Number类型和C语言,C#语言类型的对应关系,在网络上查找很久,也没有找到说明文字.但在http://oracle.chinaitlab.c ...
- db2和oracle字段类型对比
在网上找到一片关于oracle与DB2数据类型的比较,特记下来. Oracle DB2/400 Oracle数据类型 注意事项 DB2 UDB数据类型 注意事项 DATE DATETIMETIMEST ...
- 从商用到开源:15个维度,全面剖析DB2与MySQL数据库的差异
随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多.进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换. 相关阅读: 从商用到开 ...
- DB2的sql函数
转自:http://blog.chinaunix.net/uid-21162795-id-3587646.html 一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值.在 ...
随机推荐
- 1107: 单向公路(bfs+输入整理)(DFS也可以,而且更快)
Description 某个地区有许多城镇,但并不是每个城镇都跟其他城镇有公路连接,且有公路的并不都能双向行驶.现在我们把这些城镇间的公路分布及允许的行驶方向告诉你,你需要编程解决通过公路是否可以从一 ...
- Block 使用场景
转载自:http://blog.csdn.net/totogo2010/article/details/7839061 代码块本质上是和其他变量类似.不同的是,代码块存储的数据是一个函数体.使用代码块 ...
- Android程序两种退出的方法
两种程序退出的方法: Context的finish()方法: android.os.Process的killProcess()方法:(当程序isRegistered()失败,说明程序被修改过,调用ki ...
- bat 常用命令
基础部分:======================================================================一.基础语法: 1.批处理文件是一个". ...
- html5中的postMessage解决跨域问题
解决跨域问题的方法有很多,如:图像ping(简单).jsonp(缺点是不能实现跨域post).CROS(CORS的本质让服务器通过新增响应头Access-Control-Allow-Origin,通过 ...
- 读 《我为什么放弃Go语言》 有感
最近又熟悉了下go语言,发现go语言还有许多设计不好的地方,然后又读到了<我为什么放弃Go语言>这篇文章, 对于某些方面,我还是比较认同的. 这篇文章总结了十六点,如下: 1.1 不允许左 ...
- after和before的属性妙用
::after或::before设置它们的样式时有一个content这个属性这里可以写attr(data-label)其中data-label是标签上设置的data属性里的数据content:attr ...
- iOS完美版的UIScrollView无缝循环:你值得一看
可以直接copy运行研究 .m头文件和声明的常量(宏和const) #import "ViewController.h" // UIScrollView的尺寸 const CGFl ...
- 关于CH340在STM32实现一键下载电路的研究(转)
源:关于CH340在STM32实现一键下载电路的研究 在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB ...
- Java面向对象设计
1.少了程序入口会在输出的地方报这个错: Syntax error, insert "... VariableDeclaratorId" to complete FormalPar ...