|
|
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
Кто нибудь сталкивался с такой ситуацией: есть какое то поле строковое. среди прочих значений в нем есть такого шаблона "текст_пробел_№текст" Например, "пример №1234 эх" Когда пытаешься найти эту строку на форме путем обычного ввести/выполнить запрос, вводя формат поиска %123%, то эту строку, в которой есть знак № запрос не возвращает. Причем только если № и дальнейший текст были без пробела. Т.е., если бы было "пример № 1234 эх", и поиск все с тем же условием %123%, то строка бы нашлась Или если условие поиска ограничено % только слева "%1234 эх", тоже находит. Если задать поиск с самим символом № "%№123%", найдет. А вот "%123% "в упор не видит. Причем именно формс. В любом ином приложении таких заморочек нет. Возможно, что то с кодировкой. Или символ № при вводе запроса в формсе является служебным, или ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2011, 16:43 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
_№№№_, Код поиска в студию! Версия формсов? Как вариант, если говорите что без пробелов находит, - убрать их, что-то вроде: declare x varchar(50); begin x:=TRIM(:block.pole); WHILE INSTR(x,' ')>0 LOOP x:=REPLACE(x,' ',''); END LOOP; :x:=x; end; искать уже в x ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 10:53 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
mRdUKE, версия 10-ка. Да как выкрутить через Ж, это ясно, выкрутила уже давно. Но на одной конкретной форме. Встретится далее где то по формам такая необходимость опять так выкручиваться? имхо не есть гуд. Где то ж таки собака в другом порылась. Должно быть более глобальное тривиальное решение. До этой ситуации KEY-EXEQRY не был переназначен, так что все по умолчанию. (теперь, ессна, переписала под себя, немного отличным от Вашего методом, но суть та же - "выкусить" символ "№" и искать уже без него) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 11:45 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
_№№№_, select 'yes' into :block.result from dual where :block.pole like '%123%'; exception when no_data_found then :block.result:='no'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 12:30 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
mRdUKE, никакого кода, все посредством формсов. базовый блок - F11/ctrl+F11 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 13:52 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
Какой NLS_LANG на клиенте и в базе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 15:57 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
Нашла в чем было дело. Ради регистронезависимого поиска устанавливали NLS_SORT=BINARY_AI NLS_COMP=LINGUISTIC Если убрать - все ищет "на ура". Осталось теперь решить как оставить и регистронезависимый поиск, но чтобы он не влиял в свою очередь и на результаты выборки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 16:15 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
где угодно выполнить 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%'; получим разное значение выбранных строк ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 16:20 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
NLS_LANGUAGE AMERICAN NLS_CHARACTERSET CL8MSWIN1251 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 16:23 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
уже не трогаю формсы, этот же прикол просто на базе :) Так что тему можно переносить просто в oracle ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 16:25 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
Подтверждаю. Проверил на Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production Бага? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 16:43 |
|
||
|
Поиск строки с символом №
|
|||
|---|---|---|---|
|
#18+
P.S. Проверял запросом select * from ( select '123№ca123' note from dual ) t where t.note like '%ca%'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 16:44 |
|
||
|
|

start [/forum/topic.php?fid=51&fpage=22&tid=1878729]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 20ms |
| total: | 165ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...