Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизTIBQuery. Как сделать поиск (select, like) нечувствительным Найти похожие ветки
← →
Darkwing © (2006-09-20 16:03) [0]TIBQuery. Как сделать поиск (select, like) нечувствительным к регистру?
← →
palva © (2006-09-20 16:08) [1]А установка Character Set разве не помогает?
← →
Darkwing © (2006-09-20 16:14) [2]где почитать про character set? скажите пожалста.
← →
Sergey13 © (2006-09-20 16:22) [3]> [0] Darkwing © (20.09.06 16:03)
> Как сделать поиск (select, like) нечувствительным к регистру?
Что бы "сделать поиск (select, like) нечувствительным к регистру", надо его сделать поиск нечувствительным к регистру, т.е. привести поле и строку поиска к одному регистру. UPPER например.
← →
Сергей М. © (2006-09-20 16:26) [4]
> Sergey13 © (20.09.06 16:22) [3]
с UPPER в ряде IB-совместимых СУБД - засада.
> Darkwing © (20.09.06 16:03)
см.выше
← →
Desdechado © (2006-09-20 17:21) [5]> с UPPER в ряде IB-совместимых СУБД - засада.
Не забывать про COLLATE
← →
palva © (2006-09-20 18:04) [6]
> Darkwing © (20.09.06 16:14) [2]
> где почитать про character set? скажите пожалста.
Можно указать при создании поля:
NEW_TEXT VARCHAR (20) CHARACTER SET WIN1251 COLLATE WIN1251
Еще у базы может быть свой CHARACTER SET по умолчанию, который используется если не указан у поля. А почитать - даже не знаю где. Наверно, в книге по FireBird
← →
Fay © (2006-09-20 18:47) [7]2 Darkwing © (20.09.06 16:03)
> Как сделать поиск (select, like) нечувствительным к регистру?
Достаточно перейти на MSSQL (например 2005 Express)
P.S.
Я в курсе, что автор спрашивал о чём-то другом 8)
← →
Desdechado © (2006-09-20 18:56) [8]Fay © (20.09.06 18:47) [7]
"- что нужно, чтоб жить хорошо?
- достаточно уехать на Гаваи"
← →
Fay © (2006-09-20 19:10) [9]2 Desdechado © (20.09.06 17:21) [5]
> забывать про COLLATE
А нельзя ли чуточку подробнее. Ну хоть строчку кода, plz
← →
Desdechado © (2006-09-20 21:09) [10]select upper( obj_name collate win1251 ) from objnames
← →
Darkwing © (2006-09-26 16:00) [11]Слатинскими символами работает и UPPER. Что делать если символы не латинские(кириллица).
← →
Desdechado © (2006-09-26 17:10) [12]использовать правильный сервер БД, а не старье
← →
zdm © (2006-09-26 17:27) [13]не знаю правильный был-ли выход у меня, но сделал так
1. для русских букв используй Like AnsiUpperCase
2. вообщем идея такая select .... where ... Like AnsiUpperCase.."параметр или string" or Like AnsiLowerCase.."параметр или string" и всё катит , ни какой чувствительности к регистру
← →
Darkwing © (2006-09-27 08:35) [14]
> zdm © (26.09.06 17:27) [13]
> не знаю правильный был-ли выход у меня, но сделал так
> 1. для русских букв используй Like AnsiUpperCase
> 2. вообщем идея такая select .... where ... Like AnsiUpperCase.
> ."параметр или string" or Like AnsiLowerCase.."параметр
> или string" и всё катит , ни какой чувствительности к регистру
Как я понял, имеется в виду функция Delphi - AnsiUpperCase,
Да, но например поле БД может быть "Иванов"
в итоге получится ... WHERE Fam LIKE "иванов" or Fam LIKE "ИВАНОВ" - итог такого запроса будет ноль строк.
Для достижения результата поле БД тоже надо подвергнуть выравниванию по регистру, а с символами кириллицы нет.
> Desdechado ©
> использовать правильный сервер БД, а не старье
Какой, подскажите пожалста? Надо чтоб без BDE работал.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c