Вниз
Скачать: CL | DM;

Регистр символов и таблица в памяти   Найти похожие ветки 

 
Дмитрий К.   (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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
11-27424
virus_gvd
2003-01-26 02:30
2003.10.09
определение измененных файлов


4-27769
Checist [root]
2003-07-25 02:30
2003.10.09
Hook на клавиши


1-27604
orb
2003-09-28 20:12
2003.10.09
народ помогите умираю!


14-27718
Islander
2003-09-21 11:19
2003.10.09
Разработка Shareware


3-27328
RIMM
2003-09-22 05:54
2003.10.09
ADOQuery - Invalid column name




   Наверх