powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Поиск строки с символом №
14 сообщений из 14, страница 1 из 1
Поиск строки с символом №
    #37224917
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто нибудь сталкивался с такой ситуацией:
есть какое то поле строковое.
среди прочих значений в нем есть такого шаблона "текст_пробел_№текст"
Например, "пример №1234 эх"
Когда пытаешься найти эту строку на форме путем обычного ввести/выполнить запрос, вводя формат поиска %123%, то эту строку, в которой есть знак № запрос не возвращает.
Причем только если № и дальнейший текст были без пробела. Т.е., если бы было "пример № 1234 эх", и поиск все с тем же условием %123%, то строка бы нашлась
Или если условие поиска ограничено % только слева "%1234 эх", тоже находит.
Если задать поиск с самим символом № "%№123%", найдет.
А вот "%123% "в упор не видит.
Причем именно формс. В любом ином приложении таких заморочек нет.
Возможно, что то с кодировкой. Или символ № при вводе запроса в формсе является служебным, или ...?
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37226105
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_№№№_,

Код поиска в студию! Версия формсов?
Как вариант, если говорите что без пробелов находит, - убрать их, что-то вроде:
declare x varchar(50);
begin
x:=TRIM(:block.pole);
WHILE INSTR(x,' ')>0 LOOP
x:=REPLACE(x,' ','');
END LOOP;
:x:=x;
end;

искать уже в x
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37226247
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mRdUKE,

версия 10-ка.
Да как выкрутить через Ж, это ясно, выкрутила уже давно. Но на одной конкретной форме. Встретится далее где то по формам такая необходимость опять так выкручиваться? имхо не есть гуд. Где то ж таки собака в другом порылась. Должно быть более глобальное тривиальное решение.
До этой ситуации KEY-EXEQRY не был переназначен, так что все по умолчанию. (теперь, ессна, переписала под себя, немного отличным от Вашего методом, но суть та же - "выкусить" символ "№" и искать уже без него)
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37226387
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_№№№_,

select 'yes' into :block.result from dual where :block.pole like '%123%';
exception when no_data_found then :block.result:='no';

...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37226613
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mRdUKE,
никакого кода, все посредством формсов.
базовый блок - F11/ctrl+F11
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37226856
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_№№№_,


...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37226979
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой NLS_LANG на клиенте и в базе?
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37227028
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашла в чем было дело.
Ради регистронезависимого поиска устанавливали
NLS_SORT=BINARY_AI
NLS_COMP=LINGUISTIC
Если убрать - все ищет "на ура". Осталось теперь решить как оставить и регистронезависимый поиск, но чтобы он не влиял в свою очередь и на результаты выборки
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37227046
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
где угодно выполнить

select count(*)
from test t
where t.note like '%ca%';
ALTER SESSION SET NLS_SORT=BINARY_AI;
ALTER SESSION SET NLS_COMP=LINGUISTIC;
select count(*)
from test t
where t.note like '%ca%';

получим разное значение выбранных строк )
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37227059
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NLS_LANGUAGE AMERICAN
NLS_CHARACTERSET CL8MSWIN1251
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37227064
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уже не трогаю формсы, этот же прикол просто на базе :) Так что тему можно переносить просто в oracle )))
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37229243
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подтверждаю. Проверил на

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

Бага?
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37229247
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Проверял запросом

select * from (
select '123№ca123' note from dual ) t
where t.note like '%ca%';
...
Рейтинг: 0 / 0
Поиск строки с символом №
    #37229361
_№№№_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
фича )))))))))))))
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Поиск строки с символом №
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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