2016-06-27 3 views
-1

SQL Server: я хочу преобразовать свой тип данных varchar в float, но у меня есть некоторые научные значения нотации в нем (например, 3.11955748130297E-02), и я получаю следующую ошибку : Ошибка преобразования типа данных varchar в float.SQL-сервер: ошибка преобразования типа данных varchar в float

Я пробовал его с помощью функций преобразования и литья, но это не работает.

insert into table1--(data type as float) 

select convert(float,column1),-- contains '3.11955748130297E-02' as value and datatype is varchar 

convert(float,column2) 

from table2 
+1

Возможный дубликат [SQL Server 2005: преобразование значения varchar '1.23E-4' в десятичный сбой] (http://stackoverflow.com/questions/2148990/sql-server-2005-converting-varchar-value-1 -23e-4-to-decimal-fail) –

+1

'SELECT CONVERT (float, '3.11955748130297E-02')' работает для меня на моем сервере SQL Server 2012. Можете ли вы предоставить нерабочий код? –

+0

вставка в table1 - (тип данных, как поплавок) выберите конвертировать (с плавающей точкой, столбец1), - содержит '3.11955748130297E-02' в качестве значения и тип данных VARCHAR преобразования (с плавающей точкой, столбец2) от table2 – user1989

ответ

1

ошибка придет из-за 'разрыв колонки' в одном из столбцов, я попробовал, используя следующий код:

обращенных (поплавок, REPLACE (column1, CHAR (13), ' ')) column1

большое спасибо за ответы.

+0

Спасибо! Это сработало для меня! :) –

Смежные вопросы