私が受け取ったExcel文書をmssqlデータベースにインポートしました。 すべてがうまくいっていて、2つの列からなる7000レコードのテーブルがあります。 今私は私がそこに格納されているいくつかのデータを比較するために、私のデータベースに既に存在するテーブルと、このExcelの表を結合したい:私のデータベース内varcharをfloatまたはそのまわりに変換する
SELECT b.ID, a.ID , b.NAME
FROM ExcelTable b
inner join DB_Table a
on a.ID = cast(b.ID as varchar)
IDさんはVARCHAR(20)として保存され、ExcelTable IDを取得します浮動小数点数としてインポートされ、型を変更することはできません。レコードが存在することはわかっていますが、上記のsqlでは結果が得られません。 私のフロートIDは元のIDの後ろに ".00000"で格納されているため、動作していません。
は、誰も私が
ではなく、あなたの比較でvarchar型としてfloatをキャストするのfloatとしてvarchar型をキャスト?つまり、あなたの "on"節を "on cast(a.Id AS float)= b.ID"に変更します。 –
こんにちは、私は試してみて、私はこのエラーが発生するデータ型varcharを浮動小数点に変換するエラー。 – MishMish