Error converting data type varchar to Float.

28
28889

Friends,

Sometimes you need to convert the data of a column in SQL server table from VARCHAR(String) to FLOAT. When I was working on the similar one today i got an error saying that

Msg 8114, Level 16, State 5, Line 2
Error converting data type varchar to Float.

PFB the code I have written  –

SELECT col1, CAST(col2 AS FLOAT) as col2 FROM #DaTable

I was getting this error because there is some data like NULLS and non numeric values which cannot be converted to FLOAT datatype. To handle this kind of error we have to use the CASE Statement. PFB the converted code which converts VARCHAR column to FLOAT column.

SELECT col1,  
	CASE WHEN ISNUMERIC(col2) = 1
		THEN CAST(col2 AS FLOAT) 
		ELSE NULL 
	END as col2
FROM #tableName

In the above example at first point I am checking whether the data is NUMERIC or not using ISNUMERIC() function and if the data is non numeric then I am replacing the value with NULL as I cannot convert it to FLOAT type and then casting the data ONLY when it is NUMERIC to FLOAT.
Hope this helps !!
Regards,
Roopesh Babu V

28 COMMENTS

  1. Недавно разбил экран своего телефона и обратился в этот сервисный центр. Ребята быстро и качественно починили устройство, теперь работает как новый. Очень рекомендую обратиться к ним за помощью. Вот ссылка на их сайт: салон ремонта телефонов.

  2. На сайте forkpart.ru вы можете куплю запчасти для вилочных погрузчиков самых популярных моделей. Мы предлагаем оригинальные комплектующие, которые обеспечат стабильную работу вашего оборудования. Ассортимент регулярно обновляется, чтобы вы могли найти все необходимое. Заказывайте качественные запчасти с доставкой по всей России!

  3. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали сервисный центр asus сервис, можете посмотреть на сайте: сервисный центр asus
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

eight + 2 =