Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.20;
Скачать: CL | DM;

Вниз

Большие и маленькие буквы в SQL запросе   Найти похожие ветки 

 
Назаров Евгений   (2003-02-03 21:43) [0]

Привет всем, возникла проблемка - в запросе select * from store UPPER(name)=UPPER("Wellcome Всем")
- UPPER работает только для латиницы, а русские буквы не увеличивает зараза. Как быть ??? ( при создании базы ставил character set = none)


 
Назаров Евгений   (2003-02-04 00:14) [1]

ПАМАГИТЕЕЕЕЕЕЕЕЕЕЕ !!!!


 
Johnmen ©   (2003-02-04 00:19) [2]

>...при создании базы ставил character set = none)

Вот поэтому и не работает :)

Выходы :
1. Использовать UDF, имеющую соотвествующую UPPER функцию
2. При создании базы/поля указывать соотв. character set и collate


 
DarkGreen ©   (2003-02-04 06:12) [3]

Устанавливай charset ручками типа:

create table MY_TBL (
ID integer not null primary key,
NAME varchar(30) character set WIN1251 collate PXW_CYRL
);


 
Romkin ©   (2003-02-04 10:26) [4]

Проще надо быть - если у поля win1251, достаточно
select * from store
where UPPER(name collate PXW_CYRL)="WELLCOME ВСЕМ"
Все дело в том, что при upper индекс все равно не применяется, поэтому прописывать у поля PXW_CYRL не есть хорошо - вместо 1 байта на символ расходуется 3.
Если индекс использовать все же хочется, можно просто организовать второе поле, также с кодировкой win1251 collate win1251, и в триггере писать в него UPPER(... collate PXW_CYRL). Проиндексировав его, можно искать с использованием индекса (индекс в IB не более 256 байт по суммарной длине его полей).



Страницы: 1 вся ветка

Текущий архив: 2003.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
3-63473
T{}r(l-l
2003-02-04 16:07
2003.02.20
DTSPackage


3-63566
stoper
2003-01-24 11:52
2003.02.20
Медленно выполняется запрос


1-63621
БурЖуй
2003-02-10 23:56
2003.02.20
Выделение в Treeview


1-63668
boka
2003-02-12 08:33
2003.02.20
DBGrid


3-63582
Step[B.M.]
2003-02-04 10:37
2003.02.20
Не могу в Blob-поле InterBase вставить BMP. Что не ТАК ?