Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: SQL запрос поиска слова во фразе Добавлено: 06.06.06 11:55  

Автор вопроса:  Sur | Web-сайт: sur.hotbox.ru/ | ICQ: 1249088 
Есть в Access таблице 1 столбец с 4-мя строками:
Мама, Папа
Папа, Мама
Мамаша, Папаша
Папа

Нужно, чтобы при поиске слова "Папа" (strFind), вылезли строки 1,2,4

Сейчас есть такой SQL запрос (его часть Like):

LikeString = "((" & strField & _
" 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-сайт: sur.hotbox.ru/
 Профиль | | #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 & " = '')"

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам