SQL функции и ADO EXCEL
От: dvurukov США  
Дата: 28.04.05 15:57
Оценка:
Добрый день.
Работаю с таблицей Excel через ADO драйвер {Microsoft Excel Driver (*.xls)}.
В одном из селектов необходимо использование функции вроде Find — находящей место
вхождения одной строки во вторую. Перепробывал все — locate, instr, position. В MSDN
описана именно locate(str1,str2) или locate(str1,str2, start_pos).
Однако все равно получаю "ошибку в комманде"

Оригинал запроса приблизительно таков. "select * from [sheet1$] where lacate(name,'%s') <> 0".
Что нужно сделать чтобы такой функционал заработал ?
Re: SQL функции и ADO EXCEL
От: wildwind Россия  
Дата: 28.04.05 16:04
Оценка:
Здравствуйте, dvurukov, Вы писали:

D>Оригинал запроса приблизительно таков. "select * from [sheet1$] where lacate(name,'%s') <> 0".

Это действительно оригинал?

D>Что нужно сделать чтобы такой функционал заработал ?

LIKE попробуй.
Re[2]: SQL функции и ADO EXCEL
От: dvurukov США  
Дата: 28.04.05 16:14
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, dvurukov, Вы писали:


D>>Оригинал запроса приблизительно таков. "select * from [sheet1$] where lacate(name,'%s') <> 0".

W>Это действительно оригинал?

D>>Что нужно сделать чтобы такой функционал заработал ?

W>LIKE попробуй.

Ну ошибся — locate.... А если по существу — то LIKE не подходит — содержимое поля БД должно включаться в некуюю строку, а не наоборот...
Re[3]: SQL функции и ADO EXCEL
От: wildwind Россия  
Дата: 28.04.05 16:46
Оценка:
Здравствуйте, dvurukov, Вы писали:

D>LIKE не подходит — содержимое поля БД должно включаться в некуюю строку, а не наоборот...


И в чем проблема? '%s' LIKE name ...
Re[4]: SQL функции и ADO EXCEL
От: dvurukov США  
Дата: 29.04.05 05:54
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, dvurukov, Вы писали:


D>>LIKE не подходит — содержимое поля БД должно включаться в некуюю строку, а не наоборот...


W>И в чем проблема? '%s' LIKE name ...


Проблема в производительности. LIKE и так монстр в плане ресурсов. А если еще первая строка меньше второй...
Re[5]: SQL функции и ADO EXCEL
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.04.05 07:05
Оценка:
Здравствуйте, dvurukov, Вы писали:
D>Проблема в производительности. LIKE и так монстр в плане ресурсов. А если еще первая строка меньше второй...
Ты бы лучше написал саму задачу. Может вместе придумаем способ поднять производительность. Слишком конкретные вопросы — вредно. "Как выточить на токарном станке квадратную гайку?".
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: SQL функции и ADO EXCEL
От: wildwind Россия  
Дата: 29.04.05 07:09
Оценка:
Здравствуйте, dvurukov, Вы писали:

D>Проблема в производительности. LIKE и так монстр в плане ресурсов. А если еще первая строка меньше второй...


Не надо ламерства, тут его и так хватает.
Проблема твоя не в LIKE, а в том, что ты работаешь с таблицей Excel через ADO драйвер. Это как удалять гланды через...
Re[6]: SQL функции и ADO EXCEL
От: Аноним  
Дата: 29.04.05 10:51
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, dvurukov, Вы писали:


D>>Проблема в производительности. LIKE и так монстр в плане ресурсов. А если еще первая строка меньше второй...


W>Не надо ламерства, тут его и так хватает.

W>Проблема твоя не в LIKE, а в том, что ты работаешь с таблицей Excel через ADO драйвер. Это как удалять гланды через...

В чем ламерство? В том что LIKE раза в 1.5-2 менее производителен, чем обычный поиск (в моем случае). Сам же предложил :

'%s' LIKE name — разве это не хак?

Собственно говоря, я работаю не только с Excel, но и с другими форматами файлов БД — dBase, например всякие.
Само собой, что можно для каждого из них найти свой оптимальный механизм работы. Но тогда разработка растянется до моей пенсии, а денег хочется к праздникам ... Короче, с глобальными вопросами проектирования и средствами разработки я сам разберусь — не курсы 1С заканчивали .
А проблема моя достаточно конкретная и обобщить я ее никак не смогу — функция поиска подстроки, которая фигурирует в ODBC Developer's Guide, в документации к самому драйверу ODBC, но не шибко работает
Re[6]: SQL функции и ADO EXCEL
От: dvurukov США  
Дата: 29.04.05 11:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, dvurukov, Вы писали:

D>>Проблема в производительности. LIKE и так монстр в плане ресурсов. А если еще первая строка меньше второй...
S>Ты бы лучше написал саму задачу. Может вместе придумаем способ поднять производительность. Слишком конкретные вопросы — вредно. "Как выточить на токарном станке квадратную гайку?".

. Есть, например, Excel файл — тыщ на 50 записей, в котором содержатся ссылки на различные ресурсы, типа

http://rsdn.ru/Forum/NewMsg.aspx?mid=1150519
Автор: Sinclair
Дата: 29.04.05
.

А мне нужно выбрать все , ну скажем, форумы рунета...
Re[7]: SQL функции и ADO EXCEL
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.04.05 11:40
Оценка:
Здравствуйте, dvurukov, Вы писали:
D>А мне нужно выбрать все , ну скажем, форумы рунета...
И что? То есть ты думаешь, что существует способ быстрее, чем
where url like '%forum%'

? Очень я в этом сомневаюсь. К тому же я не вижу, почему тремя сообшениями выше кто-то стал ставить поле справа от Like.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: SQL функции и ADO EXCEL
От: dvurukov США  
Дата: 29.04.05 11:49
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, dvurukov, Вы писали:

D>>А мне нужно выбрать все , ну скажем, форумы рунета...
S>И что? То есть ты думаешь, что существует способ быстрее, чем
S>
S>where url like '%forum%'
S>

S>? Очень я в этом сомневаюсь. К тому же я не вижу, почему тремя сообшениями выше кто-то стал ставить поле справа от Like.

Хорошо не совсем так пример привел — если кретерий forum в базе находится, а url на вход приходит? То есть существует база с категориями сайтов, которые нужно выбрать(форумы, чаты... причем они могут комбинироваться), ну и база с самими ссылками... ?
Re: SQL функции и ADO EXCEL
От: dkms1  
Дата: 29.04.05 13:54
Оценка:
Здравствуйте, dvurukov, Вы писали:

D>Работаю с таблицей Excel через ADO драйвер {Microsoft Excel Driver (*.xls)}.

D>В одном из селектов необходимо использование функции вроде Find — находящей место
D>вхождения одной строки во вторую. Перепробывал все — locate, instr, position. В MSDN

select * from [lib$] where instr(genre,'Punk Rock')>0 — вполне себе работает, выбирает, что надо.
Re[2]: SQL функции и ADO EXCEL
От: dvurukov США  
Дата: 29.04.05 16:19
Оценка:
Здравствуйте, dkms1, Вы писали:

D>Здравствуйте, dvurukov, Вы писали:


D>>Работаю с таблицей Excel через ADO драйвер {Microsoft Excel Driver (*.xls)}.

D>>В одном из селектов необходимо использование функции вроде Find — находящей место
D>>вхождения одной строки во вторую. Перепробывал все — locate, instr, position. В MSDN

D>select * from [lib$] where instr(genre,'Punk Rock')>0 — вполне себе работает, выбирает, что надо.


Самое смешное, что я instr сюда написал, а на деле перепробывал все кроме нее... . Спасибо за содержательный ответ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.