2016-11-28 4 views
-1

Ich versuche, [Standardpreis] zu konvertieren, die in Varchar (500) -Format zu float ist, aber ich bekomme Fehler 'Fehler beim Konvertieren von Varchar zu float'.Fehler beim Konvertieren von varchar (500) in float in SQL Server v2008

Unten ist meine Frage:

select IM.Material, CONVERT(float, Replace(Replace(IM.[Standard price], '"', ''), ',', '')) as colname from ItemMaster as IM 

[Standardpreis] -Feld (doppelte Anführungszeichen) und (Komma) damit ich sie mit leeren bin zu ersetzen, bevor zu schweben zu konvertieren.

Gibt es einen alternativen Ansatz, den Sie mit SQL Server 2008 ausprobieren müssen?

Antwort

0
SELECT CASE ISNUMERIC(Replace(Replace([column_name], '"', ''), ',', '')) WHEN 1 THEN CAST((Replace(Replace([column_name], '"', ''), ',', '')) AS float) ELSE null END 
from table as IM 

oder

Select Try_convert(float,Replace(Replace([column_name], '"', ''), ',', '')) as [Varchar to float] 
from table_name 
0

Wenn es, in String kann die ISNUMERIC 1 zurückkehren kann aber nicht direkt zu schwimmen konvertieren Sie zuerst, um Geld umwandeln kann.

SELECT ISNUMERIC('1,123,34'),CONVERT(MONEY,'1,123,34')--,CONVERT(float,'1,123,34') 

--- Rückkehr ---- 1 112334,00

Verwandte Themen