Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Вниз

Как искать в базе без учета регистра букв?   Найти похожие ветки 

 
Piter ©   (2004-06-22 21:11) [0]

А то like ищет только при полном совпадении...


 
YurikGL ©   (2004-06-22 21:30) [1]

where upper(поле)="НАБРАНО БОЛЬШИМИ БУКВАМИ"


 
Piter ©   (2004-06-22 21:45) [2]

Блин... что-то со мной не так сегодня... забыл сказать, что работаю с FireBird Embedded, а там collate не работает


 
Ярослав   (2004-06-22 22:14) [3]

А UDF там работает, если да то можно свою функцию подключить (AnsiUpperCase)


 
Johnmen ©   (2004-06-23 10:04) [4]

>FireBird Embedded, а там collate не работает

Можно узнать источник информации ?


 
Vlad ©   (2004-06-23 10:14) [5]

Работаешь с русскими буквами ?

UPPER(field1 COLLATE PXW_CYRL) like ... не работает ?


 
Piter ©   (2004-06-23 10:21) [6]

Johnmen (23.06.04 10:04) [4]
Можно узнать источник информации ?


собственные эксперименты


 
Соловьев ©   (2004-06-23 10:24) [7]


> А то like ищет только при полном совпадении...

откуда такая инфа? можно задать частичный поиск
...
where UPPER(field1 COLLATE PXW_CYRL) like "%"||UPPER(:par1 COLLATE PXW_CYRL)||"%"


 
Danilka ©   (2004-06-23 10:25) [8]

[6] Piter ©   (23.06.04 10:21)
а у меня работает, как ни странно :))
правда не embedded, но, не думаю, что имеет значение. :))


 
Piter ©   (2004-06-23 10:27) [9]

Danilka (23.06.04 10:25) [8]
правда не embedded


блин, ты знаешь, что такое Embedded?


 
Johnmen ©   (2004-06-23 10:27) [10]

>Piter ©   (23.06.04 10:21) [6]
>собственные эксперименты

Неверно поставленный эксперимент приводит к получению неверных данных и далее к неверным выводам...
:)


 
Соловьев ©   (2004-06-23 10:29) [11]


> блин, ты знаешь, что такое Embedded?

что? очень интересно :)


 
Piter ©   (2004-06-23 10:32) [12]

Johnmen (23.06.04 10:27) [10]

Я смотрю ты все знаешь, но не говоришь... может, поделишься знаниями?


 
Danilka ©   (2004-06-23 10:33) [13]

[9] Piter ©   (23.06.04 10:27)
> ты знаешь, что такое Embedded?

Думаю, что знаю. :))
Расскажи, плиз, как это может повлиять на COLLATE, очень интересно. :))


 
Johnmen ©   (2004-06-23 10:34) [14]

>Piter ©   (23.06.04 10:32) [12]
>может, поделишься знаниями?

Поделюсь. Какими ?

>Я смотрю ты все знаешь,...

А разве это возможно ? :)))


 
Piter ©   (2004-06-23 10:46) [15]

Danilka (23.06.04 10:33) [13]
Расскажи, плиз, как это может повлиять на COLLATE, очень интересно. :))


Вот запрос SELECT * FROM Table1 Where UPPER(Field1 COLLATE PXW_CYRL) like ""%"+ТЕСТ+"%"""

Итог:
"SQL error code = -204
Data type unknow
Invalid use of CHARACTER SET or COLLATE". Process stopped..."

Johnmen (23.06.04 10:34) [14]

не надо издеваться. Даже звание мастера не разрешает тебе это делать. Ок? Давай или по делу или никак.


 
Johnmen ©   (2004-06-23 10:53) [16]

>Piter ©   (23.06.04 10:46) [15]
>не надо издеваться. Даже звание мастера не разрешает тебе это
>делать. Ок? Давай или по делу или никак.

Хм... Это твоя мнительность тебе сказала...
:)


 
Vlad ©   (2004-06-23 10:55) [17]

попробуй так

select * from telephones where UPPER(name COLLATE WIN1251) like _WIN1251 "%ЗНАЧЕНИЕ%"


 
Danilka ©   (2004-06-23 11:06) [18]

[15] Piter ©   (23.06.04 10:46)
Специально после этого твоего поста запустил FB1.5 сервер, запустил IB Expert, проверил вот-такой запрос:

select * from goods
where upper(goods_name COLLATE PXW_CYRL) like "СТАР%"

работает так как и должен.
Затем тормознул сервер, в каталог с экспертом перелил фалы от FB Embedded 1.5, зарегистрировал в эксперте ту-же базу, но в качастве клиентской библиотеки выбрал не gds32.dll, а fbembed.dll с полным путем до него, подконнектился к этой БД опять запустил этот-же запрос - все работает.
К слову, вот-такой запрос:

select * from goods
where upper(goods_name) like "СТАР%"

у меня тоже отрабатывает как положеное, в т.ч. и с русскими буковками. :))


 
Piter ©   (2004-06-23 11:12) [19]

Johnmen (23.06.04 10:53) [16]
Это твоя мнительность тебе сказала...


угу. У тебя в данной ветке ни одного сообщения по делу... давай не будет продолжать?

Danilka (23.06.04 11:06) [18]

а при создании базы ты DEFAUL CHARSET какой указывал?


 
Piter ©   (2004-06-23 11:15) [20]

Danilka (23.06.04 11:06) [18]
select * from goods
where upper(goods_name) like "СТАР%"

у меня тоже отрабатывает как положеное, в т.ч. и с русскими буковками


ну а это как возможно? Ты когда таблицы создавал COLLATE указывал?


 
Danilka ©   (2004-06-23 11:23) [21]

[19] Piter ©   (23.06.04 11:12)
WIN1251, и поля varchar такие-же.
но это не важно для COLLATE PXW_CYRL, он-же отработал без ошибки.
вобщем, либо ты что-то не так делаешь, либо у тебя какая-нибудь глючная демка FB.


> ну а это как возможно?

например, так:

CREATE TABLE GOODS2 (
...
   GOODS_NAME    VARCHAR(100) CHARACTER SET WIN1251 NOT NULL,
...
);

а вообще, по-моему, все это в хелпе есть. правда, я давно с FB не работал.


 
Piter ©   (2004-06-23 11:31) [22]

Danilka (23.06.04 11:23) [21]

блин, а у меня не получается создать с WIN_1251... вот что пишет:

"Unsuccessful metadata update
TEST
Statement: create table Test (n varchar(10) CHARACTER SET WIN1251 NOT NULL)"


 
max1000   (2004-06-23 11:34) [23]

Я попробывал вот так
SELECT * FROM schet Where UPPER(name) like "%МАРТИНЕНКО%"
Все заработало и без OLLATE PXW_CYRL


 
Danilka ©   (2004-06-23 11:38) [24]

[22] Piter ©   (23.06.04 11:31)
Я не знаю в чем у тебя проблема, т.к. давно очень работал с FB и мало, а с Embedded только сейчас первый раз поробовал, и у меня все ок. Спроси у кого-нибудь еще, например, у Johnmen. :))


 
Piter ©   (2004-06-23 12:00) [25]

Danilka (23.06.04 11:38) [24]

дело в том, что не понимает FB EMBD кодировок. Ты уверен, что через DLL нужную работаешь? Через embedded?!

Потому что как я писал в Piter ©   (23.06.04 11:31) [22] у меня через EMBD даже нельзя создать таблицу с полем, указав CHARACTER SET! (только который по умолчанию)
А если таблицу все таки создать через полноценный FB , то EMBD все равно с этой таблицей работать не может. Когда в IBDatabase прописываешь lc_ctype=WIN1251, то он при старте уже пишет:
"bad parameters on attach or create database
CHARACTER SET WIN1251 is not defined"


 
Piter ©   (2004-06-23 12:03) [26]

max1000 (23.06.04 11:34) [23]

у тебя именно Firebird Embedded?

Danilka (23.06.04 11:38) [24]

а ты можешь попробовать деинсталлировать firebird вообще и удалить файл gds32.dll в директории с Windows? Чтобы программа точно пользовалась FB EMBD библиотекой... может, у тебя все работает, потому что все таки соединение через сервер идет...


 
Danilka ©   (2004-06-23 12:14) [27]

[26] Piter ©   (23.06.04 12:03)
для этого достаточно просто остановить сервер, что я и сделал, после чего, у меня базы перестали быть доступны через gds32.dll писал ошибку.


 
Piter ©   (2004-06-23 12:34) [28]

Danilka (23.06.04 12:14) [27]

ну не знаю... у меня FB EMBD ни в какую не воспринимает WIN1251 кодировку... не знает он ее и все...


 
Danilka ©   (2004-06-23 12:56) [29]

[28] Piter ©   (23.06.04 12:34)
в архиве с FB embedded есть папка doc, в ней файл README_embedded.txt, почитай его.
У меня тоже получилось сделать так, перестали быть доступны кодировки: после того, как я удалил каталог intl содержащий файл fbintl.dll.


 
Piter ©   (2004-06-23 14:19) [30]

Danilka (23.06.04 12:56) [29]

спасибо большое! У меня не было поддиректории intl :( Теперь все ок!


 
Piter ©   (2004-06-23 14:47) [31]

А что делать, если мне надо искать в Blob русские фразы без учета регистра?



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

Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.047 c
3-1088270520
YA
2004-06-26 21:22
2004.07.18
Ограничение доступа к записи таблицы


14-1088628178
KilkennyCat
2004-07-01 00:42
2004.07.18
Что может оказать влияние на вид деятельности программиста?


1-1088930145
Song
2004-07-04 12:35
2004.07.18
Интересная проблема с SimpleRoundTo


1-1089202095
Kurt
2004-07-07 16:08
2004.07.18
Ожидание события


3-1087570465
max1000
2004-06-18 18:54
2004.07.18
Как в SQL-запросе округлить число после запятой до двух символов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский