私はいくつかのことを行うためのクエリを書いています。しかし、その私はそれを望むように動作していない:TABLE1.CORR_IDが文字列である時に問題があるIBM DB2のデータ型変換:BIGINTからVARCHAR
select CORR_ID from TABLE1
where CORR_ID not in (select id from TABLE2)
を、TABLE2.idは、長いです。
どうすればいいですか?
PS:IBM UDBを使用しています。
私はいくつかのことを行うためのクエリを書いています。しかし、その私はそれを望むように動作していない:TABLE1.CORR_IDが文字列である時に問題があるIBM DB2のデータ型変換:BIGINTからVARCHAR
select CORR_ID from TABLE1
where CORR_ID not in (select id from TABLE2)
を、TABLE2.idは、長いです。
どうすればいいですか?
PS:IBM UDBを使用しています。
さてTABLE1 から
corr_id選択CORR_IDのデータ型と一致するように選択されたID列をキャストすることができなければなりません、私は方法を見つけました:あなたはVARCHARにBIGINTをキャストすることはできませんが、::
select CORR_ID from TABLE1 where CORR_ID not in
(select CAST(CAST(id AS CHAR(50)) AS VARCHAR(50)) from TABLE2)
これはかなり興味をそそられる
TO CHARを、これはばかげているキャストすることができます!
あなたはCORR_ID NOT IN(TABLE2からキャスト(VARCHARとしてID)を選択)
私の答えよりもはるかに良い私のans – jrharshath
をチェックしてください。私は2つの追加のポイントを持っていれば私はそれを投票したい – GregA100k
DB2では、追加のキャストなしでVARCHAR列とCHAR列を比較できます。実際に行う必要があるのは、数値をキャストすることだけです。あなたがあなたの質問に人々を魅了したい場合にNOT IN(CHAR table2のFROM(ID)を選択)corr_id TABLE1 FROM
SELECT corr_idは
タイトルフレージングは非常に重要です。 「私のクエリが壊れている」とは、ほとんどの人が無視する一種のタイトルです。しかし、あなたのタイトルが特定の問題を抱えていることを示していれば、人々はもっとよく見ることができます。 – Welbog
タイ。 – jrharshath