@OrdeO
just......newbie

Как получить часть строки через MySQL запрос?

Есть запросselect coordinates from mapper;
Он возвращает значения вот такого вида: latitude="32.752658" longitude="-96.644847">
Как можно вытянуть только координаты в 2 колонки.
Что б результатом была таблица вида:
latitude        longitude
32.752658       -96.644847


P.S. Нюанс, числа поле точки не всегда 5 значные, могут быть другой длинны поэтому варинат с SUBSTRING`ом не подойдет.
  • Вопрос задан
  • 372 просмотра
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если порядок всегда один и тот же, то можно через SUBSTRING_INDEX(). Разбить по кавычкам и взять нужные подстроки.
Начиная с версии 8.0 можно через REGEXP_SUBSTR().
Но, по хорошему, надо парсить строку до занесения в базу и записывать уже чистые значения.
Ответ написан
Yunique33
@Yunique33
SELECT  substring_index(substring_index(coordinates, '"', -4), '"', 1) AS latitude,
              substring_index(substring_index(coordinates, '"', -2), '"', 1) AS longitude
FROM mapper;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы