Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
ВнизРегистр символов и таблица в памяти Найти похожие ветки
← →
Дмитрий К. (2003-09-18 14:58) [0]Уважаемые мастера!
Есть срочный вопрос.Каким оразом при SQL запросе к IB базе данных можно игнорировать регистр символов,т.е. уовнять "A" и "a".
И ещё как создать таблицу в памяти, чтобы к ней можно было посылать запросы.
Буду признателен за ответ.
← →
Zacho (2003-09-18 14:59) [1]
> Дмитрий К. (18.09.03 14:58)
> Уважаемые мастера!
> Есть срочный вопрос.Каким оразом при SQL запросе к IB базе
> данных можно игнорировать регистр символов,т.е. уовнять
> "A" и "a".
UPPER
> И ещё как создать таблицу в памяти, чтобы к ней можно было
> посылать запросы.
Никак. Разве что свой движок напишешь, позволяющий такое.
← →
Nikolay M. (2003-09-18 15:01) [2]
> Каким оразом при SQL запросе к IB базе данных можно игнорировать
> регистр символов,т.е. уовнять "A" и "a".
Зависит от запроса. Но часто помогают функции UPPER/LOWER (UPCASE? не помню, как это в ИБ).
> И ещё как создать таблицу в памяти, чтобы к ней можно было
> посылать запросы.
Да посылай ты эти запросы... к таблице... :) Дались они тебе.. Да еще в памяти...
← →
Дмитрий К. (2003-09-18 15:04) [3]типа select * from clients where upper(text)like "%запро%" ?
← →
NickBat (2003-09-18 15:09) [4]Если уж чтобы совсем везде работало то так:
upper(field COLLATE PXW_CYRL) like
← →
Nikolay M. (2003-09-18 15:16) [5]
> Дмитрий К. (18.09.03 15:04) [3]
> типа select * from clients where upper(text) like "%запро%"?
Лучше, если
select * from clients where upper(text) like "% ЗАПРО%"
← →
Дмитрий К. (2003-09-18 15:20) [6]При такой постановке запоса не выдаёт ничего
select * from T$CLIENTS, T$ITEMS where upper(ITMTEXT COLLATE PXW_CYRL) like "%авто%" and T$CLIENTS.ID=T$ITEMS.CLIENTID
а если
select * from T$CLIENTS, T$ITEMS where ITMTEXT like "%авто%" and T$CLIENTS.ID=T$ITEMS.CLIENTID
всё в порядке, но только естественно с регистром проблема остаётся.
← →
Sandman25 (2003-09-18 15:26) [7]select * from T$CLIENTS, T$ITEMS where upper(ITMTEXT COLLATE PXW_CYRL) like "%АВТО%" and T$CLIENTS.ID=T$ITEMS.CLIENTID
Upper преобразовывает к прописным буквам, а Вы затем результат сравнивали с "%авто%"
← →
Zacho (2003-09-18 15:29) [8]
> Дмитрий К. (18.09.03 15:20) [6]
> При такой постановке запоса не выдаёт ничего
> select * from T$CLIENTS, T$ITEMS where upper(ITMTEXT COLLATE
> PXW_CYRL) like "%авто%" and T$CLIENTS.ID=T$ITEMS.CLIENTID
Правильно:
select * from T$CLIENTS, T$ITEMS where upper(ITMTEXT COLLATE PXW_CYRL) like "%АВТО%" and T$CLIENTS.ID=T$ITEMS.CLIENTID
или
select * from T$CLIENTS, T$ITEMS where upper(ITMTEXT COLLATE PXW_CYRL) like UPPER("%авто%") and T$CLIENTS.ID=T$ITEMS.CLIENTID
← →
Romkin (2003-09-18 15:29) [9]:))))))
Ага, преобразовал строку в веррхний регистр и сравнил с нижним...
like "%АВТО%" ессно надо.
Может, иногда не помешает подумать, что именно делаешь?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c