Задать вопрос

Как преобразовать в varchar в real в MSSQL?

Добрый день!
Есть строка:
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), ',', '.'));
  • Вопрос задан
  • 903 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы