Страница: 1 |
Страница: 1 |
Вопрос: SQL запрос поиска слова во фразе
Добавлено: 06.06.06 11:55
Автор вопроса: Sur | Web-сайт:
Есть в Access таблице 1 столбец с 4-мя строками:
Мама, Папа
Папа, Мама
Мамаша, Папаша
Папа
Нужно, чтобы при поиске слова "Папа" (strFind), вылезли строки 1,2,4
Сейчас есть такой SQL запрос (его часть Like):
" Like '*[!0-9A-я]" & strFind & "[!0-9A-я]*') Or (" & strFind & _
" Like '" & strFind & "[!0-9A-я]*') Or (" & strFind & _
" Like '*[!0-9A-я]" & strFind & "') Or (" & strFind & _
" Like '" & strFind & "'))"
If Len(strFind) = 0 Then LikeString = "(" & strFind & " = '')"
Запрос разросся из-за проверок на начало и конец строки.
Это все очень медленно (db DAO), есть ли пути к оптимизации данного запроса?
Ответы
Всего ответов: 1
Номер ответа: 1
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #1
Добавлено: 06.06.06 12:03
Ну во, уже запутался в переменных:
LikeString = "(" & sField & _
" Like '*[!0-9A-я]" & sFind & "[!0-9A-я]*') Or (" & sField & _
" Like '" & sFind & "[!0-9A-я]*') Or (" & sField & _
" Like '*[!0-9A-я]" & sFind & "') Or (" & sField & _
" Like '" & sFind & "'))"
If Len(sFind) = 0 Then LikeString = "" & sField & " = '')"