我在写一个查询来完成一些工作。但它不工作,我希望它的方式:IBM DB2中的数据类型转换:BIGINT到VARCHAR
select CORR_ID from TABLE1
where CORR_ID not in (select id from TABLE2)
的问题是,TABLE2.id是一个长期的,而TABLE1.CORR_ID是一个字符串。
那么我该如何让它工作? PS:我正在使用IBM UDB。
我在写一个查询来完成一些工作。但它不工作,我希望它的方式:IBM DB2中的数据类型转换:BIGINT到VARCHAR
select CORR_ID from TABLE1
where CORR_ID not in (select id from TABLE2)
的问题是,TABLE2.id是一个长期的,而TABLE1.CORR_ID是一个字符串。
那么我该如何让它工作? PS:我正在使用IBM UDB。
好,我发现了一个方法:
select CORR_ID from TABLE1 where CORR_ID not in
(select CAST(CAST(id AS CHAR(50)) AS VARCHAR(50)) from TABLE2)
这是很有趣的:你不能施放一个BIGINT到VARCHAR,但:
这太荒谬了!
你应该能够投出选择的ID列corr_id
选择CORR_ID的数据类型从TABLE1 匹配,其中CORR_ID不在(选择TABLE2投(ID为varchar))
DB2允许比较VARCHAR和CHAR列而无需额外投射,所以您真正需要做的就是投射数字。
SELECT corr_id FROM表1 WHERE corr_id NOT IN(SELECT CHAR(ID)FROM表2),如果你想吸引人们到你的问题
标题措辞是非常重要的。 “我的查询被打破”是大多数人会忽视的一种标题。但是,如果你的头衔表明你有一个特定的问题,那么人们更可能仔细观察。 – Welbog 2009-06-24 14:19:59
ty。 – jrharshath 2009-06-24 14:20:27