我开始了解不使用 varchar 进行键控的好处,如此处所述
我正在使用一个我没有设置的 DB2 数据库,它有一个带有 varchar 键字段的大表(20M+ 行)。表结构如下:
key_field | matching_field1
000-XXX | 123
0000-XXX | 456
00-XXXXX | 789
key_field
是可变长度的。我正在尝试使用key_field
链接到具有 4k 行的较小表。问题是 . 中的字符后有尾随空格key_field
。我知道这一点,因为如果我使用搜索特定字符串
SELECT * WHERE key_field LIKE '000-XXX'
没有匹配项,但如果我尝试'000-XXX%'
,则选择该行。我认为这与我无法键入包含相应key_field
但已被修剪的第二个表的第二个表的原因相同,因此没有尾随空格。
假设我不能编辑、复制或转置这个大表(由于资源限制至少不能全部),有没有办法将它键入包含相同的较小表(4k 行)key_field
?
我可以编辑和操作较小的表格。
更新:使用 运行下面的查询RTRIM
,我得到一个错误。
询问:
SELECT RTRIM(foreign_key)
FROM Small_Table
EXCEPT SELECT RTRIM(key_field)
FROM Big_Table
错误:
NUMBER OF ROWS DISPLAYED IS 0
SQLCODE = -904, ERROR: UNSUCCESSFUL EXECUTION CAUSED BY AN
UNAVAILABLE RESOURCE. REASON 00C90084, TYPE OF RESOURCE 00000100, AND
RESOURCE NAME DB2-MANAGED SPACE WITHOUT SECONDARY ALLOCATION OR
USER-MANAGED SPACE IN MYDB_NAME