Страница 1 из 1
Запросы в QGIS
Добавлено: 28 апр 2015, 10:50
Vedmed
Что используется в качестве групповых шаблонов в QGIS? Полагал, что * заменяет любое количество неизвестных символов, но запрос с ней не работает должным образом. Либо я использую не тот синтаксис, либо не тот символ. Запрос:
"NAME_CITY" = 'А*'
мне казалось, что данный запрос должен искать названия всех городов начинающихся на A, но не выбирается ни один город. Что я делаю не так?
И еще вопрос, какой символ в запросе заменяет один неизвестный символ (в ArcView это знак вопроса)?
Re: Запросы в QGIS
Добавлено: 28 апр 2015, 11:30
Игорь Лебедь
Попробуйте "NAME_CITY" LIKE 'А%'
Re: Запросы в QGIS
Добавлено: 28 апр 2015, 11:38
Vedmed
Ага, теперь работает. Значит % вместо * и LIKE вместо =
А для замены одного неизвестного символа что использовать? Например если мне надо найти названия городов, начинающиеся на М и из 5 букв? В арквью это было бы, что-то вроде:
"NAME_CITY" LIKE 'M????'
Re: Запросы в QGIS
Добавлено: 28 апр 2015, 12:35
Игорь Лебедь
Метод такой: создаёте новое поле (у меня на примере Namea), в него пишете результат вычисления в калькуляторе полей:

- Replace_QGIS.jpg (309.61 КБ) 5336 просмотров
В принципе, можно и сразу в это же поле писать результат вычисления, просто для надёжности и больших данных лучше на живых данных не экспериментировать.
Re: Запросы в QGIS
Добавлено: 28 апр 2015, 12:52
Игорь Лебедь
Подумал, и решил, может, Вам не то надо. Корректнее, наверно, будет так:
Код: Выделить всё
CASE
WHEN "Name" LIKE 'М%' AND length("Name")=5 THEN 'Ю'||right("Name",4)
ELSE "Name"
END

- Replace_QGIS2.jpg (330.34 КБ) 5330 просмотров
Re: Запросы в QGIS
Добавлено: 28 апр 2015, 13:00
Vedmed
Отлично! То что нужно получилось запросом:
"NAME_CITY" LIKE 'М%' AND length ( "NAME_CITY")=5
Не знал раньше про length. Спасибо. Проблема решена.