2017-10-31 5 views
1

後に浮くようにvarchar型に変換できませんし、私はいくつかのアイデアを期待しています。SQLクエリは - 私は</p> </blockquote> <p>をfloatにエラーに</p> <blockquote> <p>変換エラーデータ型varchar型を取得し、一括挿入

.datファイルから一時テーブルにバルク挿入を行い、エラーが発生したときに既存のテーブルに追加するときにデータをフロートに変換したいとします。トラブルシューティングを行う

CREATE TABLE #Temp_Table ([Op_Base_Qty] VARCHAR(50) NULL) 

BULK INSERT #Temp_Table 
FROM '\\File_Path.DAT' 
WITH (FIRSTROW = 2, FIELDTERMINATOR = '|', ROWTERMINATOR = '\n') 

TRUNCATE TABLE [DBO].[TABLE2] 

INSERT INTO [DBO].[TABLE2]([Qty]) 
    SELECT CAST([Op_Base_Qty] AS Float) 
    FROM #Temp_Table 

、エラーをスローされる値は9つの文字(すなわち1,000.000または4,324.400)の長さを有します。生データにはNULLもテキストもありません。長さが問題だと思って、私も小数点(18,3)を試してみましたが、成功しませんでした。

varcharを1000.000のような文字で浮動小数点数(または任意の数値)に変換するにはどうすればよいですか?あなたの助け

答えて

1

ため

おかげでカンマを削除してみてください:

select convert(float,replace([Op_Base_Qty],',','')) 
+1

グッドキャッチ。私は彼らが読みやすさのためにそれを置くと思ってOPの最後の行の次を読んでいます。 – scsimon

+0

完全に動作します。ありがとう! – LukeT

+0

@LukeTお手伝いします! – SqlZim

関連する問題