Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - кодировка названия столбца

Ответить
Настройки темы
Прочие БД - кодировка названия столбца

Аватара для Arenear

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток!

Решил я разобраться в Оракл и появилась проблема.
Задача: вывести запросом строку и назвать столбец столбец на кириллице. название содержит 28 символов.

select 'Hi world' as ОченьДинноеНазваниеСтолбца from dual;
появляется ошибка ORA-00972: identifier is too long

Сложность в том, что название столбца имеет тип varchar2(30). Кодировка по умолчанию (как я понимаю) utf8. таким образом английскими символами максимальная длина названия столбца 30 символов. А русскими - всего 15.

convert('ОченьДинноеНазваниеСтолбца','UTF8','CL8KOI8R') - вернет строку, а не идентификатор и появится ошибка

select'Hi world' as convert('ОченьДинноеНазваниеСтолбца','UTF8','CL8KOI8R') from dual;
ORA-00923: FROM keyword not found where expected

Возможно ли изменить кодировку идентификатора прямо в запросе с utf8 на koi8r?
Как вообще можно выполнить задачу?

-------
Если хочешь добиться того, чего у тебя никогда не было - тебе придется сделать то, что ты никогда не делал.


Отправлено: 20:11, 20-08-2016

 

Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Arenear, Вопрос "нафига"?
Еще более прозрачно - зачем мешать кириллицу и латиницу в запросе?
Цитата Arenear:
select 'Hi world' as ОченьДинноеНазваниеСтолбца from dual; »
Вернет столбец 'Hi World' у вас есть такой столбец?

P.S. Если вы решили разобраться с Ораклом, так и разбирайтесь родным и правильным инструментарием (как он там назывался, я забыл).
Зачем вы изобретаете велосипед, который вероятно методами Оракла не решается, а решается бизнес-приложением?

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 20:21, 20-08-2016 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Arenear

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


lxa85, разбираюсь с Ораклом. Записался на курсы. Преподаватель дал задание. Найти готовое решение в интернете не могу. Поэтому пишу здесь, может кто подскажет как это сделать.

-------
Если хочешь добиться того, чего у тебя никогда не было - тебе придется сделать то, что ты никогда не делал.


Отправлено: 20:43, 20-08-2016 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Arenear, приведите полное и не искаженное задание.
Структуру таблицы, и ее данные.
oracle sql developer
в помощь
Так же покажите настройки базы данных (свойства).

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 21:24, 20-08-2016 | #4


Аватара для Arenear

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


lxa85,

Создать таблицу “Clients”, содержащую столбцы “client_id (integer, not null)” и “client_name (varchar2(50) , not null)”. Заполнить её произвольными данными (10-20 записей).

Создать таблицу “Phones”, содержащую столбцы “client_id (integer, not null)”, “phone_number (integer, not null)”, “active_from (date, not null)” , “active_to (date)”. Заполнить её произвольными данными (10-20 записей).

Создать таблицу “Mobiles”, содержащую столбцы “client_id (integer, not null)”, “mobile_number (integer, not null)”, “active_from (date, not null)” , “active_to (date)”. Заполнить её произвольными данными (10-20 записей).

Создать таблицу “Emails”, содержащую столбцы “client_id (integer, not null)”, “email (varchar2(50), not null)”. Заполнить её произвольными данными (10-20 записей).

Поле “active_to (date)” может принимать значение null.

В таблицах “Phones”, “Mobiles” и “Emails” поле client_id является FK из “Clients”.

Используя SET операторы:
Вывести имя клиента и все контактные данные клиента в формате:

“ФИО” “Название контактного данного” “Его значение” “Дата с” “Дата до”
“Иванов И.И.” “Мобильный” “89082222222” “01.01.2015” “null”
“Иванов И.И.” “email” “ivanov.ii@mail.ru” “null” “null”

Вывести всех клиентов (только ФИО), у которых есть домашний номер (“Phones”), но нет мобильного (“Mobiles”) и нет email’a (“Emails”).

Вывести всех клиентов (в порядке убывания), у которых есть домашний номер (“Phones”) и мобильный (“Mobiles”), но email’a (“Emails”).

lxa85, единственная проблема - это столбец с названием "Название контактного данного"

lxa85, использую Oracle Database 11g Express Edition, IDE Toad

-------
Если хочешь добиться того, чего у тебя никогда не было - тебе придется сделать то, что ты никогда не делал.


Отправлено: 21:58, 20-08-2016 | #5


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Arenear, попробуйте двойные кавычки, и почитать тут, тут и тут
Oracle Express мне загрузить не удалось, попробую позже.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 23:05, 20-08-2016 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - кодировка названия столбца

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Автоисправление I3 тегов исполнителя и названия песни посредством названия файла Терпила Хочу все знать 2 01-09-2015 21:19
Delphi - Сверка memo с элементами столбца в dbgrid alexmih241 Программирование и базы данных 1 13-05-2015 03:00
2010 - Перенос значений из столбца в строку VanUliK Microsoft Office (Word, Excel, Outlook и т.д.) 14 22-09-2014 23:02
Прочие - DefSmeta 4.6. Кодировка. Некорректное отображение названия файла Юрий_1 Программное обеспечение Windows 3 22-02-2014 21:57
CMD/BAT - [решено] Скопировать названия файлов из папки и добавить символ в конец названия kiber31 Скриптовые языки администрирования Windows 6 17-08-2012 14:04




 
Переход