Страница 1 из 1

Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 13:21
Alekseevich
Подскажите, как составить запрос.
Из таблицы нужно выбрать строки; условие для отбора по одной из колонки: известно слово, по которому необходимо отобрать, например, "город". Но в колонке может встречаться не только "город", но и "большой город", "городок" и проч.
Как сформулировать?
Спасибо.

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 13:27
gamm
select * from a where a.key like "%город%"

P.S. Мампинфа по этой части очень убогая, поскольку не допускает использования регулярных выражений.

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 15:46
Alekseevich
gamm писал(а):
13 фев 2023, 13:27
select * from a where a.key like "%город%"

P.S. Мампинфа по этой части очень убогая, поскольку не допускает использования регулярных выражений.
Спасибо! В мануале так и не нашел.

А если поиск нужно осуществить по двум колонкам? То вот так?:
select * from a where a.key like "%город%" or a.key2 like "%город%"

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 15:56
marsel
Проще - щелкнуть правой кнопкой по названию столбца - фильтр - содержит - ввести любой текст или буквы или цифры. То же самое для другого столбца

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 15:56
gamm
типа того ... но скобки с кавычками расставьте, и учтите, что в убогой мапинфе длина строки запроса сильно ограничена, и она ее усекает без предупреждения (а вы гадать будете, что не так). В общем, Мапинфа создавалась для раскрашивания картинок, для работы она не пригодна. Грузите все в PostGIS, и изучайте SQL с расширениями (фенкции с префиксом st_ ). Получаете результат нормальными средствами, и грузите в мапинфу, для раскрашивания. Интерфейс к PostGIS из QGIS, читайте мануалы ...

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 18:31
Alekseevich
gamm писал(а):
13 фев 2023, 15:56
типа того ... но скобки с кавычками расставьте, и учтите, что в убогой мапинфе длина строки запроса сильно ограничена, и она ее усекает без предупреждения (а вы гадать будете, что не так). В общем, Мапинфа создавалась для раскрашивания картинок, для работы она не пригодна. Грузите все в PostGIS, и изучайте SQL с расширениями (фенкции с префиксом st_ ). Получаете результат нормальными средствами, и грузите в мапинфу, для раскрашивания. Интерфейс к PostGIS из QGIS, читайте мануалы ...
Спасибо!

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 18:32
Alekseevich
marsel писал(а):
13 фев 2023, 15:56
Проще - щелкнуть правой кнопкой по названию столбца - фильтр - содержит - ввести любой текст или буквы или цифры. То же самое для другого столбца
Это в какой версии MI ?

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 21:07
marsel
Точно не скажу с какой, но уже давно. В 12.5 и далее точно есть

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 21:14
Alekseevich
gamm писал(а):
13 фев 2023, 13:27
select * from a where a.key like "%город%"
Есть вариант, чтобы не учитывался регистр?

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 13 фев 2023, 21:21
marsel
Alekseevich писал(а):
13 фев 2023, 21:14
Есть вариант, чтобы не учитывался регистр?
Так просто - нет.
Можно неполное слово набрать (без буквы которая может быть в другом регистре) или добавить второе условие и/или

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 14 фев 2023, 03:25
gamm
Недавно обсуждали вроде подобное, есть функция перевода всех букв в маленькие, типа lowcase$(), ищите в мануале
lowcase$(a.key) like "%город%"

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 14 фев 2023, 07:21
Alekseevich
marsel писал(а):
13 фев 2023, 21:21
Можно неполное слово набрать (без буквы которая может быть в другом регистре) или добавить второе условие и/или
Сначала так и начал делать. Да покоя не даёт мысль - мало ли кто какой регистр использовал при вводе (не обязательно осознанно; и не обязательно в начале слова-всякое бывает). Поэтому при каждой такой операции навязчивая мысль покоя не даст - мало ли ошибка.

Re: Оператор для поиска строк по неполному названию в колонке.

Добавлено: 14 фев 2023, 10:07
gamm
LCase$(str)