Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
Igor_fp
- Сообщения: 8
- Зарегистрирован: 14 мар 2005, 12:03
Сообщение
Igor_fp » 20 янв 2006, 09:03
Здравствуйте. Помогите, пожалуйста.
В обыкновенном запросе выдается:
Arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
Statement: select * from specpau where anumb='009025'
В charset и collate поля anumb стоит win1251.
Но все равно выдается такое сообщение.
Что делать?
Спасибо.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 20 янв 2006, 10:06
-
Igor_fp
- Сообщения: 8
- Зарегистрирован: 14 мар 2005, 12:03
Сообщение
Igor_fp » 20 янв 2006, 11:18
Сработало:
select * from specpau where anumb COLLATE PXW_CYRL='009025'
Спасибо!
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 20 янв 2006, 11:28
что-то не то у тебя сработало, судя по исходному письму.
-
Igor_fp
- Сообщения: 8
- Зарегистрирован: 14 мар 2005, 12:03
Сообщение
Igor_fp » 20 янв 2006, 11:46
Почему-то
select * from specpau where anumb COLLATE PXW_CYRL='009025'
срабатывает на базе где charset и collate поставлены на win1251,
а на базе где они <<none>> не срабатывает.
Надо повнимательнее почитать статью "О работе с русскими буквами в InterBase/Firebird".
-
Dioxin
- Сообщения: 26
- Зарегистрирован: 03 июн 2005, 08:35
Сообщение
Dioxin » 01 фев 2006, 15:04
Была у меня подобная штука...
Хотел даж переставить сервер
А оказалось все просто до немогу...
При создании указал ВИН1251 а в ИБДатаБазе этого не указал.
А сервак сам не догадался
