Проблемы с UPPER!!!

 
0
 
Oracle
ava
s_a_s_h_a | 02.02.2006, 11:07
Такая проблема:
В таблице есть фамилии и другая инфа. Нужно сделать нечеткий поиск независимый от регистра по фамилии. Пусть это 'Иванов', тогда

select * from table1 where upper(fam) like '%ИВАНОВ%'

работает, но если в фамилии есть 'ч' или 'я' /остальные не проверял/ , например 'Горчаков' тогда:

select * from table1 where upper(fam) like '%ГОРЧАКОВ%'

не работает!!!
А вот так - работает:

select * from table1 where fam like '%Горчаков%'

З.Ы. Пишу на C++Builder 6 + Oracle 8 + DOA
Comments (4)
ava
LSD | 02.02.2006, 11:25 #
1. Какая кодировка базы?
2. Если запрос выполнить из SQL Plus проблема остается?
3. База именно 8 или 8i?
ava
s_a_s_h_a | 02.02.2006, 14:22 #
1. AMERICAN_AMERICA.WE8ISO8859P1
2. Остается
3. Oracle 8i Enterprice Edition Release 8.1.7.4.1
ava
s_a_s_h_a | 02.02.2006, 15:12 #
Почитал http://roug.ru/oraclub/tvormass/russ-ora.htm
В принципе понятно, но проблема остается:
на серваке лежит другая база именно в этой кодировке!!! Если переделать кодировку Oracle-a,
тогда в программе использующей эту базу будет '?????? ????'.
З.Ы. Или я чего то не так понял?
ava
LSD | 02.02.2006, 17:42 #
Не обязательно. Если данные вы заливали в 1251 и менять будете на нее же, то скорее всего все данные будут целы, но сам понимаешь никаких гарантий.
Лучше создать новую базу, с правильной кодировкой и сделать exp/imp.
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
ava  LSD   s_a_s_h_a
advanced
Submit