【发布时间】:2017-06-29 00:38:37
【问题描述】:
我必须使用具有join 字段但它们不匹配数据类型的表。一个是字符串,一个是十进制。
当我使用 pyodbc sql 查询选择它们时,我可以使用以下方法让它们返回相同的结果:
int(trim(imus15))
int(substr(cmcsno, 1, 6))
但是,当我运行此连接时,我收到以下错误:
[DB2 for i5/OS]SQL0802 - Data conversion or data mapping error. (-802)
我试过了:
CAST(TRIM(IMUS15 AS INTEGER)) = int(substr(cmcsno, 1, 6))
我无法确定如何加入这两个领域。
IMUS15 将 = '112303 '
CMCSNO 将 = 112303
【问题讨论】:
-
您确定只加入 CMCSNO 的前 6 位数字吗?
-
@jamesallman 是的。该字段的长度只有 6 个字符。当我得到更改时,我将尝试您的解决方案,我必须手动将其组合在一起以满足需要。感谢您的建议!
-
如果你不是特别需要
SUBSTR,只需使用CHAR函数或隐式转换即可。
标签: python db2 ibm-midrange pyodbc