Страница 1 из 1

like ' %' - не работает. Почему?

Добавлено: 09 дек 2005, 15:53
DSKalugin
Делаю выборку номеров, начинающихся с пробела

Код: Выделить всё

SELECT * from "sklad"
where "sklad_number" like ' %'
выборка пустая, но такие номера есть!
Когда подставляю like ' 8%' - выборка не пустая

В чем проблема?

Индекс по этому полю есть

Код: Выделить всё

CREATE INDEX "IDX_SellCod" ON "sklad" ("sklad_number");
---------------------
ФБ 1,5,2 СС Вин2003

Добавлено: 09 дек 2005, 15:58
Dimitry Sibiryakov
Индекс убей. И если начнет работать - сообщение с тестовым скриптом в firebird-devel или buglist на sourceforge.
Но сначала проверь, может быть это уже починено в FB2. Там языковой модуль был сильно искорежен.

этот баг уже исправлен в ФБ2

Добавлено: 09 дек 2005, 17:27
DSKalugin
На других таблицах в этой же базе проверено - тоже самое.
У коллег поинтересовался - тоже не находятся записи по такому условию запроса, но ФБ2 в этой же базе корректно запрос выполняет.
Выходит, этот баг уже исправлен в ФБ2

Когда же можно будет уже пересаживаться на ФБ2 (стабильный релиз)?

Добавлено: 09 дек 2005, 18:01
DSKalugin
А если явно указать в запросе Collate PXW_CYRL или WIN1251
то выборка показывает данные

Код: Выделить всё

SELECT * from "sklad"
where "sklad_number" like ' %'  Collate WIN1251
разве этого SET NAMES WIN1251; не достаточно было при создании базы и таблицы

можно ли подобным образом задавать коллате?

Добавлено: 12 дек 2005, 08:29
Dimitry Sibiryakov
Когда же можно будет уже пересаживаться на ФБ2 (стабильный релиз)?
Вполне возможно что тебе поможет и обновление до 1.5.3. Там был поправлен баг с пропаданием charset у констант.