Возможно ли использовать псевдонимы на кириллице в Firebird?
Уместен ли следующий кусок запроса?
SELECT ClientName AS 'Имя клиента' FROM ClientTable
В разных источниках ответы, которые отличаются. Где-то говорят, что нельзя. Где-то - что можно, но с ограничениями. И всё же утвердительного ответа не получил. Возможно ли в Firebird использовать псевдонимы на кириллице?
Ответы (2 шт):
Да, все зависит от версии, у меня начиная с версии FB 2.5 работает так:
SELECT ClientName AS "Имя клиента" FROM ClientTable
/*___________________^___________^________________*/
и да ограничение на алиас 31 байт, ~15 символов до версии FB4
На версиях FB 1.5 не работает (dialect 1)
Использовал для проверки IBExpert и спасибо @VP_ARTH за подсказку: dialect 3
С разрешения Сергея Астахова, владельца страницы http://people.comita.spb.ru/users/sergeya/java/ruschars.html, приводится часть раздела, описывающая работу с русскими буквами в InterClient: InterBase (interbase.interclient.Driver)
Для этого драйвера работает параметр "charSet":
// Параметры соединения с базой
Properties connInfo = new Properties();
connInfo.put("user", username);
connInfo.put("password", password);
connInfo.put("charSet", "Cp1251");
// Устанавливаем соединение
Connection db = DriverManager.getConnection(dataurl, connInfo);
Однако не забудьте при создании БД и таблиц указать кодировку символов. Для русского языка можно использовать значения "UNICODE_FSS" или "WIN1251".