私はテストの証明としてテーブルとレポートテーブルを比較しようとしています。レポートテーブルには12文字のIDとDOBがあり、ソーステーブルにはIDのみが含まれています。sqlはcharをintに変換しますか?
select cast(ID as char(12)) as ID into #IDnums
from members
where client='some_client'
select ID
from #IDnums
where ID not in (
select left(12,rtrim(ltrim(memberID)))
from report_table
)
memberIDはchar(50)フィールドです。私はこれを実行すると、私はエラーを取得する:
The conversion of the varchar value '74857358238119880131' overflowed an int column.
私はvarchar型またはint型から、またはどのようにこの問題を解決するに来る見当がつかない。
タグ、使用しているDBMSを。いくつかの非ANSI SQLがあります... – jarlh
よく、あなたは 'LEFT'を間違って使用しています、それは最初に文字列であると思われ、後で長さ:' left(rtrim(ltrim(memberID))、12) ' – Lamak