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

Объединение полей

Добавлено: 05 окт 2005, 14:57
Gall
мне нужно вставить пробел между двумя полями.
select s.name || ' ' || s.famil from sotryd s

сервер
Server Version: LI-V1.5.1.4481 Firebird 1.5
Server Implementation: Firebird/linux Intel
Service Version: 2
не хочет обрабатывать такой запрос (ни из IBExpert
ни через клиента), хотя если писать через консоль на самом
сервере этот запрос, то обрабатывает. Если данные на
инглише, то работает, если на русском то нет.

сервер Firebird-1.5.2.4731-Win32 с таким запросом работает
корректно.

Что делать? Хранимую процедуру не предлагайте.

Re: Объединение полей

Добавлено: 05 окт 2005, 15:46
Dimitry Sibiryakov
Gall писал(а): Что делать?
Срочно читать FAQ по работе с русским языком c в плане установки правильного charset для соединения.

Добавлено: 05 окт 2005, 16:20
kdv
не хочет обрабатывать такой запрос
допустим, напрягшись можно понять как это он "не хочет". в другой раз пиши сообщение об ошибке, если хочешь чтобы тебе помогли.

Добавлено: 05 окт 2005, 18:50
Gall
kdv писал(а): допустим, напрягшись можно понять как это он "не хочет". в другой раз пиши сообщение об ошибке, если хочешь чтобы тебе помогли.
пишет Arithmetic overflow or division by zero has occured.
arithmetic exception, numeric overflow or string truncation.
cannot transliterate character between character sets.

русский язык отображается верно, поэтому думаю дело не в настройках.

Добавлено: 05 окт 2005, 20:55
kdv
www.ibase.ru/devinfo/ibrusfaq.htm

читать внимательно.

1. база данных должна быть создана в win1251
2. таблицы и все остальное должно быть создано с коннектом lc_ctype=win1251 (хотя и не обязательно, главное чтобы столбцы приняли кодировку БД).
3. данные должны быть занесены с коннектом с lc_ctype=win1251

во всех остальных случаях - наблюдаемая тобой кривизна. операционка сервера БД или его версия (а также кодировка по умолчанию в операционке) никакого значения не имеют.