Добрый день!
Есть строка:
declare @point varchar (100) = '-27,452;26,491;4,299'
Делю ее по символу ";" и хочу записать в переменную типа real:
declare @index int
declare @x real
select @index = CHARINDEX(';', @point)
select @x = cast(substring(@point, 0, @index) as real);
Получаю ошибку:
Сообщение 8114, уровень 16, состояние 5, строка 41
Ошибка при преобразовании типа данных varchar к real.
При использовании convert:
select @x = convert(real, substring(@point, 0, @index));
получаю ту же ошибку
Вопрос снят. Необходимо было заменить символ "," на символ ".":select @x = convert(real, replace(substring(@point, 0, @index), ',', '.'));