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

Как преобразовать в 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), ',', '.'));
  • Вопрос задан
  • 945 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1С-программист
    10 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • ProductStar
    Профессия Product Manager
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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