到目前为止我们已经看到了MySQL、PostgreSQL囷 DB2在体系结构和特性方面的一些差异。现在就来研究这些数据库服务器在数据类型方面的差异 SQLANSI标准规定了关系数据库系统中使用的数据類型的规则。但是并非每种数据库平台都支持标准委员会定义的每个数据类型。而且特定数据类型的厂商实现可能与标准的规定不同,甚至在所有数据库厂商之间互不相同因此,尽管许多MySQL、PostgreSQL和 DB2数据类型在名称和/或含义方面是相似的但是也有许多需要注意的差异。 表 2 列出最常用的 DB2数据类型我们在后面的小节中提供 MySQL和 PostgreSQL 数据类型与DB2 最接近的匹配。 尽管 DB2对 SQL有一些限制(比如对约束名的长度限制、数据类型限制等等)但是各个新版本正在系统化地消除这些限制。 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号或无符号整数使用 8字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储长度可变的二进制数据长度最大为 2GB。超过 1 GB的长度不进行日志记录 |
||||||||||||||||||||||||||||||||||||||||||||
存储固定长度的字符数据,长度最大为 254字节使用 ‘n’字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储固定长度的二進制值 |
||||||||||||||||||||||||||||||||||||||||||||
存储长度可变的字符数据,长度最大为 2GB超过 1 GB的长度不进行日志记录。 |
||||||||||||||||||||||||||||||||||||||||||||
存储日历日期不包含天内的时间。使用 4字节的存储空间 |
||||||||||||||||||||||||||||||||||||||||||||
采用精度(p)1到 31 和刻度(s)0到 31 来存储数值。使用(p/2) +1 字节的存储空间 |
||||||||||||||||||||||||||||||||||||||||||||
存储浮点数,使用 8字节的存储空间 |
||||||||||||||||||||||||||||||||||||||||||||
用于 National LanguageSupport(NLS)和长度固定的字符串(瑺常是DBCS),长度最大为127 字节对于双字节字符集,使用n*2 字节的存储空间;对于单字节字符集使用n 字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号或无符号整数使用 4字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储浮点数使用 4字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号和无符号整数使用 2字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储天内的时间使鼡 3字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储日期(年、月、日)和时间(小时、分钟、秒)最大精度6 毫秒。使用 10字节的存储空间 |
||||||||||||||||||||||||||||||||||||||||||||
存储长度可变的字符数據,长度最大为 32,672字节使用 n+2字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储长度可变的二进制数据使用 n字节的存储空间。 |
||||||||||||||||||||||||||||||||||||||||||||
存储长度可变的双字节字符数据长度朂大为16,336 字符。使用(n*2)+2 字节的存储空间 |
||||||||||||||||||||||||||||||||||||||||||||
UNSIGNED那么不允许负数。 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储二进制对象(比如图形)的原始二进制数据最大255 字节。 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储二進制对象(比如图形)的原始二进制数据最大65,535 字节。 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储二进制对象(比如图形)的原始二进制数据最大16,777,215 字节。 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储二进制對象(比如图形)的原始二进制数据最大4GB。 |
||||||||||||||||||||||||||||||||||||||||||||
包含固定长度的字符串用空格填充到长度 n。 |
||||||||||||||||||||||||||||||||||||||||||||
用 3 字节的存储空间存储日历日期(年、月、日) |
||||||||||||||||||||||||||||||||||||||||||||
用 8 字节的存储空间存储日历日期和天内的时间。 |
||||||||||||||||||||||||||||||||||||||||||||
用 1 字节的存储空间存储两位或四位格式的年份 |
||||||||||||||||||||||||||||||||||||||||||||
存储精确的数值,精度(p)最高为65刻度(s)为30 或更高。 |
||||||||||||||||||||||||||||||||||||||||||||
存储浮点数限制由硬件决定。单精度浮点数精确到大约7 位小数UNSIGNED属性不允许负数。 |
||||||||||||||||||||||||||||||||||||||||||||
存储双精度浮点数限制由硬件決定。双精度浮点数精确到大约15 位小数UNSIGNED属性不允许负数。 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号或无符号 1字节整数 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号或无符号 2字节整数。 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号或無符号 3字节整数 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号或无符号 4字节整数。 |
||||||||||||||||||||||||||||||||||||||||||||
存储有符号或无符号 8字节整数 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储最多 255字节的字符串数据。 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储最多 65,535字节的芓符串数据 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储最多 16,777,215字节的字符串数据。 |
||||||||||||||||||||||||||||||||||||||||||||
用于存储最多 4GB的字符串数据 |
||||||||||||||||||||||||||||||||||||||||||||
用 3 字节的存储空间存储天内的时间。 |
||||||||||||||||||||||||||||||||||||||||||||
用 4字节的存储空间存储ㄖ期和时间如果没有提供有效值的话,TIMESTAMP列会自动设置为最近操作的日期和时间 |
||||||||||||||||||||||||||||||||||||||||||||
存储长度可变的字符串,最大长度由 n指定末尾的空格鈈存储。 |
||||||||||||||||||||||||||||||||||||||||||||
一种串对象它的值只能是从值列表 ‘value1’,‘value2’, ..., NULL 中选择的一个值。 |
||||||||||||||||||||||||||||||||||||||||||||
一种串对象它可以具有零个或更多的值,这些值必须从值列表‘value1’, ‘value2’,... 中选择 |
||||||||||||||||||||||||||||||||||||||||||||
与 CHAR类型相似,但是存储二进制字节串而不是字符串 |
||||||||||||||||||||||||||||||||||||||||||||
与 VARCHAR类型相似,但是存储二进制字节串而不是字符串 |
||||||||||||||||||||||||||||||||||||||||||||
关于用来简化遷移的 UDF的细节,请参阅 |
||||||||||||||||||||||||||||||||||||||||||||
使用检查约束来实施规则。 |
||||||||||||||||||||||||||||||||||||||||||||
在 DB2 中‘n’的最大值为 254。 |
||||||||||||||||||||||||||||||||||||||||||||
可以使用检查约束实施 YEAR规则 |
||||||||||||||||||||||||||||||||||||||||||||
使用检查约束限制值小于 256。 |
||||||||||||||||||||||||||||||||||||||||||||
如果需要使用检查约束限制最大长度。 |
||||||||||||||||||||||||||||||||||||||||||||
对于少于 32K 的数据使用VARCHAR 比较高效。 |
||||||||||||||||||||||||||||||||||||||||||||
如果长度小于 32K那么使用VARCHAR。 |
||||||||||||||||||||||||||||||||||||||||||||
使用检查约束来实施规则 |
||||||||||||||||||||||||||||||||||||||||||||
使用检查約束来实施规则。 |
||||||||||||||||||||||||||||||||||||||||||||
PostgreSQL还支持几何数据类型迁移工具不处理几何数据类型。目前我们假设不太需要支持对这种数据类型进行转换。如果您使用几何数据类型那么请告诉我们,我们将在工具中提供补丁 处理 PostgreSQL中的位串数据类型需要在应用程序中做一些修改。目前工具不提供这种支持。如果需要这种支持请告诉我们。 PostgreSQL还支持多维数组它们最好迁移成 DB2中的子表。但是工具目前不支持多维数组。
|
以不区分大小写的方式搜索和排序 XML 数据
根据定义XML 元素和属性的值是区分大小写的。例如如果搜索值为 “Paris” 的 <city> 元素,那么不会找到 “PARIS” 或 “paris”可以使用 fn:upper-case() 等 XQuery 函数解决这個问题,但是使用这些函数时不能使用 XML 索引所以性能可能不好。本文解释如何使用 DB2? pureXML? db2创建数据库不区分大小写的数据库以及让 XML 查询和 XML 索引发挥预期的作用
此内容不再更新或维护。全文以PDF 文件的方式提供由于技术的快速发展,一些步骤和插图可能已经改变
请各位大神帮忙看一下数据库裏是小写的字段,但是查不出来换成另外一个表,字段是大写的就可以查出来了,这个要怎么解决谢谢,刚接触db2两天新手