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

Вниз

SQL   Найти похожие ветки 

 
Max Zyuzin ©   (2002-11-22 09:17) [0]

Приветствую всех!
Вот возникла проблемка... Делаю програмку и решил в ней организовать поиск
делаю запросы типа:
select * from MyTab
where MyField like "%вася%"

В общем есть желание организовать этот поиск без учета регистра (что бы и Вася и вАсЯ находился в результате запроса), сделал вот так...
select * from MyTab
where Upper(MyField) like "%ВАСЯ%"

Но оно не погло, т.к. Upper действует только на английские буквы (проверял). Есть какие нить мысли как с этим бороться? Или вообще посик по другому организовывать придется?


 
Карелин Артем ©   (2002-11-22 09:21) [1]

Все работает, если при создании поля указывать виндовский чарсет и Collate соответствующие.


 
Max Zyuzin ©   (2002-11-22 09:22) [2]

При создании поля указывал чарсет win1251


 
Max Zyuzin ©   (2002-11-22 09:28) [3]

Блин :( только что вычитал на Ibase.ru
примечание: эквивалентом character set WIN1251 является кодировка CYRL, однако использовать ее не рекомендуется, т.к. она не поддерживает UPPER


 
Reindeer Moss Eater   (2002-11-22 09:34) [4]

Collation лучше не использовать. Лучше использовать UDF


 
Max Zyuzin ©   (2002-11-22 09:36) [5]

>Reindeer Moss Eater (22.11.02 09:34)
Почему?


 
alice ©   (2002-12-02 13:45) [6]

Можно сделать два поля, - в одном строка, введенная юзером, а в другом та же строка, - uppercase. Проиндексировать это второе поле и искать по нему, а выводить первое. Больше места, зато намного быстрее.


 
Max Zyuzin ©   (2002-12-02 13:54) [7]

>alice © (02.12.02 13:45)
У какой древний вопрос откопала :)
В общем а если мне надо искать по всем полям сразу??? Мне для каждого поля заводить дублера? А у меня еще там есть BLOb...
Вобще, я уже решил эту проблемму... с простыми строками боролся через Collation а с BLOb через UDF пришлось возится... вот.


 
Reindeer Moss Eater   (2002-12-02 14:07) [8]

>Reindeer Moss Eater (22.11.02 09:34)
Почему?

Потому что есть ограничение на длину индексируемого выражения. А при использовании Collation каждый символ занимает 3 байта


 
alice ©   (2002-12-02 14:28) [9]

просто я пыталась с этим самым collation, но у меня не получилось никакого єффекта :(


 
Max Zyuzin ©   (2002-12-02 14:31) [10]

>alice © (02.12.02 14:28)
http://www.ibase.ru/devinfo/ibrusfaq.htm
Замечательная статья..



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
1-61660
dkDimon
2002-12-08 01:13
2002.12.19
PopUp Menu


1-61562
Виталик
2002-12-09 18:49
2002.12.19
MessageBox по центру моего окна (или в произвольном месте экрана)


6-61744
zeratul_pr
2002-10-05 14:47
2002.12.19
TClientSocket --- Ошибка: Asynhcronous socket error 10061


1-61537
Lizerginnn
2002-12-09 14:53
2002.12.19
Работа с


1-61622
Checist [root]
2002-12-07 06:06
2002.12.19
ВАЖНЫЙ ВОПРОС !