SQL | Конвертировать URL-адрес Google Map в Lag и Lng - PullRequest
0 голосов
/ 08 февраля 2012

В моей базе данных phpmyadmin SQL есть сотни URL-адресов карт Google.Я хочу изменить их на lat и lng автоматически.

Например:

http://maps.google.com.hk/maps?f=q&source=embed&hl=zh-TW&geocode;=&q=軒尼詩道+438+號&aq;=&sll=22.279427,114.181616&sspn=0.012191,0.016544&brcurrent=3,0x34040055b36dac7f:0x23fa8b1e7120c6a,0,0x3404004c435d4ad9:0x6e0e524894ae1a66&ie=UTF8&hq;=&hnear;=軒尼詩道438號&ll=22.279429,114.181622&spn=0.000496,0.000587&z=19&iwloc=A

Как я могу написать инструкцию SQL для извлечения из нее lat и lng?Все значения lat и lng следуют за &ll= В примере:

&ll=22.279429,114.181622

Как написать скрипт SQL для поиска цифр только после &ll?

1 Ответ

0 голосов
/ 10 января 2013

Это может показаться немного волосатым, но должно дать вам то, что вам нужно в примере.См. Демонстрация скрипта SQL .Оставит дополнительные случаи, когда параметр ll встречается сразу после ? в URL или является последним параметром в списке в качестве упражнений для читателя: -)

SELECT url,
       SUBSTRING(url,
                 LOCATE('&ll=', url) + 4,
                 LOCATE(',', url, LOCATE('&ll=', url)) - 
                     (LOCATE('&ll=', url) + 4)) AS lat,
       SUBSTRING(url,
                 LOCATE(',', url, LOCATE('&ll=', url)) + 1,
                 LOCATE('&', url, LOCATE(',', url, LOCATE('&ll=', url))) - 
                     (LOCATE(',', url, LOCATE('&ll=', url)) + 1)) AS lng
FROM mapurls
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...