表 8. 数据库对象的异同
| 数据类型分类 | MySQL 中的数据类型名称 | 范围 | MySQL 中是否有效 | DB2 Express 中是否有效 | DB2 Express 中的数据类型名称 | 范围 | 注释 |
|---|
| 数值型 | Tinyint | 有符号 [-128..127] | 无符号 [0..255] | √ | × | NA | NA | DB2 Express 中没有提供这种范围的数据,您可以直接使用 Smallint 类型 |
|---|
| Smallint | 有符号 [-32768..32767] | 无符号 [0..65535] | √ | √ | Smallint | 有符号 [-32768..32767] | 无符号 [0..65535] | 与 DB2 Express 一致 |
| Mediumint | 有符号 [-8388608 .. 8388607] | 无符号 [0 .. 16777215] | √ | × | NA | NA | DB2 Express 中没有提供这种范围的数据,您可以直接使用 Integer 类型 |
| Int (or Integer) | 有符号 [-2147483648 .. 2147483647] | 无符号 [0 .. 4294967295] | √ | √ | Integer | 有符号 [-2147483648 .. 2147483647] | 无符号 [0 .. 4294967295] | 与 DB2 Express 一致 |
| Bigint | 有符号 [-9223372036854775808 .. 9223372036854775807] | 无符号 [0 .. 18446744073709551615] | √ | √ | Bigint | 有符号 [-9223372036854775808 .. 9223372036854775807] | 无符号 [0 .. 18446744073709551615] | 与 DB2 Express 一致 |
| Float | 有符号 [-3.402823466E+38 .. -1.175494351E-38, 0] | 无符号 [1.175494351E-38 to 3.402823466E+38] | √ | √ | Real | 有符号 [-3.402823466E+38 .. -1.175494351E-38, 0] | 无符号 [1.175494351E-38 to 3.402823466E+38] | 与 DB2 Express 一致 |
| Double (or Real) | 有符号 [-1.7976931348623157E+308 .. -2.2250738585072014E-308, 0] | 无符号 [2.2250738585072014E-308 .. 1.7976931348623157E+308] | √ | √ | Double | 有符号 [-1.7976931348623157E+308 .. -2.2250738585072014E-308, 0] | 无符号 [2.2250738585072014E-308 .. 1.7976931348623157E+308] | 与 DB2 Express 一致 |
| 字符串型 | Char | 0 .. 255 (以字符计算长度) | √ | √ | Char (以字节计算长度) | 0 .. 255 | 与 DB2 Express 大体一致,只不过 MySQL 使用字符计算长度,DB2 Express 以字节计算长度 |
|---|
| Varchar | 0 .. 65535 (以字符计算长度) | √ | √ | Varchar (以字节计算长度) | 0 .. 32672 | 与 DB2 Express 不同,请注意 DB2 Express 还提供了 Long Varchar 类型,从 0 .. 32700 (以字节计算长度)
|
| Binary | 0..255 (以字节计算长度) | √ | √ | Char (以字节计算长度) | 0 .. 255 | 与 DB2 Express 一致,MySQL 与 DB2 Express 中的名称不同 |
| Varbinary | 0 .. 65535 (以字节计算长度) | √ | √ | Varchar (以字节计算长度) | 0 .. 32672 | 与 DB2 Express 不同,请注意 DB2 Express 还提供了 Long Varchar 类型,从 0 .. 32700 (以字节计算长度)
|
| BLOB (Binary)/TEXT (Characters) | TinyBlob/TinyText - 0 .. 2^8 | √ | √ | Blob | 0 .. 2147483647 (以字节计算长度) | MySQL 提供了 binary 和 text LOB 类型,它们仅仅是大小不同。DB2 Express 恰恰相反,提供了 BLOB,CLOB(与 BLOB 长度相同)和 DBCLOB(按字节计算 0 .. 1073741823)
|
|---|
| BLOB/TEXT - 0 .. 2^16 | √ | √ | Blob | 0 .. 2147483647 (以字节计算长度) | 同上 |
| MEDIUMBLOB/MEDIUM TEXT - 0 .. 2 ^ 24 | √ | √ | Blob | 0 .. 2147483647 (以字节计算长度) | 同上 |
| LONGBLOB/LONGTEXT - 0 .. 2 ^ 32 | √ | √ | Blob | 0 .. 2147483647 (以字节计算长度) | 同上 |
| 日期与时间 | Datetime | '1000-01-01 00:00:00' to '9999-12-31 23:59:59' | format (YYYY-MM-DD HH:MM:SS) | √ | √ | Timestamp | 0001-01-01-00.00.00.000000 to 9999-12-31-24.00.00.000000 | format (YYYY-MM-DD-HH.M.SS.xxxxxx) | DB2 Express 的 Timestamp 与其类似 |
|---|
| Date | '1000-01-01' to '9999-12-31'| format (YYYY-MM-DD) | √ | √ | Date | 0001-01-01 to 9999-12-31 | format (YYYY-MM-DD) | DB2 Express 允许的最小值强于 MySQL 1000 年 |
| Timestamp | 多种格式(参见 datatype) | √ | √ | Timestamp | 0001-01-01-00.00.00.000000 to 9999-12-31-24.00.00.000000 | format (YYYY-MM-DD-HH.M.SS.xxxxxx) | DB2 Express 中的 Timestamp 与其类似。请注意,MySQL 中的 Timestamp 允许有多种格式 |