Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > существует ли ограничение на использование like?


Автор: cyklop77 21.8.2010, 00:45
отдельной ветки для вопросов от новичков не нашел, поэтому приходится писать здесь...

подскажите пожалуйста почему в oracle9 не работает простеиший код. 

выражение вида: 

Код

select * from table1 where f1 like '%sergey%' 


обычно работает, но в некоторых таблицах (вернее в view, составленном из нескольких таблиц) не работает. то есть возвращает пустой набор, сообщения об ошибке при этом нет.

могут ли таблицы иметь например ограничения на использование подобного условия?

Автор: Zloxa 21.8.2010, 11:39
предположение о наличии ограничений нелепо.
Скорее всего, при выборе из вьюхи не возвращается результат просто потому, что не находится записей соответствующих этому критерию.

Автор: cyklop77 21.8.2010, 15:19
знаю, что нелепо. даже не знаю что еще предположить. записи, соответствующие этому критерию точно есть, пробовал даже всего одну букву оставлять. пробовал и to_char. может кодировку как-нибудь поменять стоит..но маловероятно, что и это влияет, ведь я указываю конкретный шаблон 

Автор: ToshaCh 21.8.2010, 16:48
"Дорогие учёные у меня каждую зиму в подвале раздаётся подземный стук. Объясните, что это."

Пример покажи, чтобы разговор был предметным. 

Автор: blednykhap 23.8.2010, 07:16
Цитата(cyklop77 @ 21.8.2010,  00:45)
отдельной ветки для вопросов от новичков не нашел, поэтому приходится писать здесь...

подскажите пожалуйста почему в oracle9 не работает простеиший код. 

выражение вида: 

Код

select * from table1 where f1 like '%sergey%' 


обычно работает, но в некоторых таблицах (вернее в view, составленном из нескольких таблиц) не работает. то есть возвращает пустой набор, сообщения об ошибке при этом нет.

могут ли таблицы иметь например ограничения на использование подобного условия?

Я бы попробовал

Код

select * from table1 where UPPER(f1) like '%SERGEY%' 

Автор: Zloxa 23.8.2010, 11:56
Цитата(blednykhap @  23.8.2010,  07:16 Найти цитируемый пост)
Я бы попробовал

а я бы попробовал найти глазками значение, которое, по версии автор, должно бы соответствать критерию, сделать его http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions048.htm#SQLRF00635 и сравнить с дампом строки 'sergey'

Добавлено через 22 секунды
быть может там 'е' - кирилицей набрано

Автор: blednykhap 24.8.2010, 06:20
Цитата(Zloxa @ 23.8.2010,  11:56)
Цитата(blednykhap @  23.8.2010,  07:16 Найти цитируемый пост)
Я бы попробовал

а я бы попробовал найти глазками значение, которое, по версии автор, должно бы соответствать критерию, сделать его http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions048.htm#SQLRF00635 и сравнить с дампом строки 'sergey'

Добавлено @ 11:56
быть может там 'е' - кирилицей набрано


Строка автора и 
Код

select dump('sеrgey') from dual

где 'sеrgey' - латиницей, дают один и тот же результат.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)