Requête SQL – Impossible de convertir varchar en float après insertion en bloc

Je reçois une erreur

Erreur lors de la conversion du type de données varchar en float

et j'espère des idées.

Je fais une insertion en bloc à partir d'un file .dat vers une table temporaire, puis je souhaite convertir datatables en float lorsque je l'ajoute à une table existante lorsque j'obtiens l'erreur.

 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 

En effectuant un dépannage, les valeurs qui émettent une erreur ont une longueur de 9 caractères (soit 1 000 000 ou 4 324 400). Il n'y a pas de caractère nul ou de text dans datatables brutes. Pensant que la longueur était le problème, j'ai aussi essayé la décimale (18,3) sans succès.

Comment puis-je convertir un varchar avec des caractères comme 1.000.000 à un float (ou numérique)?

Merci de votre aide

essayez de supprimer les virgules:

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