Форум: "Базы";
Текущий архив: 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.035 c