powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / регулярные выражения
9 сообщений из 9, страница 1 из 1
регулярные выражения
    #32057753
Van
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Van
Гость
Нужно грамотно составить запрос
ячейка проверяется на наличие слова в ней.
Причем при поиске по слову 'Иван' строка ' Иван Петров' должна находиться, а 'Михаил Иван ович' не должна, т.е. положительный результат должен выдаваться, если слово присутствует в предложении целиком, а не как часть слова.
Я знаю, как это должно примерно выглядеть, но хочется уточнить...
...
Рейтинг: 0 / 0
регулярные выражения
    #32057766
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно так
like '%Иван %' or like '% Иван%'
...
Рейтинг: 0 / 0
регулярные выражения
    #32057769
Стрелок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
like '%Иван %' or like '%Иван'
инече 'Михаил Иванович' попадет
...
Рейтинг: 0 / 0
регулярные выражения
    #32057771
Фотография Гнездин Петр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не-а... никто не угадал :) и не забывайте, что по-умолчанию регистр букв игнорируется. так не будет работать. скорее примерно так:
WHERE поле = 'иван' OR поле LIKE 'иван %' OR поле LIKE '% иван' OR поле LIKE '% иван %'
но это будет, мягко говоря, не быстро... для таких вещей наиболее правильно использовать full-text search
...
Рейтинг: 0 / 0
регулярные выражения
    #32057773
Стрелок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда уж и знаки препинания нужно учесть. В вопросе говорится про целое предложение.
...
Рейтинг: 0 / 0
регулярные выражения
    #32057774
Фотография Гнездин Петр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угум-с, согласен. Поэтому и говорю, что с этими обязанностями совершенно замечательно справляется word-breaker полнотекстового поиска. Но можно и предыдущий пример модифицировать вариантами '[^а-я]' и '^[a-z]' вместо пробелов или же в '[]' передавать все допустимые разделители. Хлопотно это...
...
Рейтинг: 0 / 0
регулярные выражения
    #32057777
Фотография Гнездин Петр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот кстати такой еще вариантик пришел в голову:
Код: plaintext
WHERE ' ' + поле + ' ' LIKE '%[^a-zа-я]иван[^a-zа-я]%'

Бррр....
...
Рейтинг: 0 / 0
регулярные выражения
    #32057785
Van
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Van
Гость
Всем спасибо, я примерно до этого же дошел, правда я думал, что надо писать что-то вроде '%[^a-z^а-я]иван[^a-z^а-я]%'
...
Рейтинг: 0 / 0
регулярные выражения
    #32057786
Фотография Гнездин Петр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дополнение пробелами только для тех случаев, когда подстрока находится в начале или конце строки
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / регулярные выражения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]