一尘不染

IBM DB2中的数据类型转换:BIGINT到VARCHAR

sql

我正在写一个查询来做一些事情。但是它不能按我想要的方式工作:

select CORR_ID from TABLE1
where CORR_ID not in (select id from TABLE2)

问题是,TABLE2.id是一个长整数,而TABLE1.CORR_ID是一个字符串。

那么如何使它工作呢?

PS:我正在使用IBM UDB。


阅读 374

收藏
2021-05-23

共1个答案

一尘不染

好的,我找到了一种方法:

select CORR_ID from TABLE1 where CORR_ID not in 
(select CAST( CAST(id AS CHAR(50)) AS VARCHAR(50) ) from TABLE2)

这很有趣:您不能将BIGINT强制转换为VARCHAR,但是:

  • 您可以将BIGINT强制转换为CHAR
  • 您可以将CHAR转换为VARCHAR

这是荒唐的!

2021-05-23