Кодировка.Convert.Update

GOSP
Дата: 06.10.2015 11:33:29
Приветствую.
Имеется БД с AL32UTF8.
Выполняем следующие шаги:
create table tmp1(c1 varchar2(10 byte))

insert into tmp1 values ('ш');
insert into tmp1 values (convert('ш','CL8MSWIN1251'));
insert into tmp1 values (convert('шшшшшшшшшш','CL8MSWIN1251'));

select c1, dump(c1,1010)
from tmp1

C1 | DUMP(C1,1010)
----------------------------------------------------------------------------------------------------------------------
ш | Typ=1 Len=2 CharacterSet=AL32UTF8: 209,136
ш | Typ=1 Len=1 CharacterSet=AL32UTF8: 248
шшшшшшшшшш | Typ=1 Len=10 CharacterSet=AL32UTF8: 248,248,248,248,248,248,248,248,248,248

Далее update:

update tmp1
set c1=c1||convert('ш','CL8MSWIN1251')

C1 | DUMP(C1,1010)
----------------------------------------------------------------------------------------------------------------------
ш | Typ=1 Len=2 CharacterSet=AL32UTF8: 209,136
| NULL
шшшшшшшшш | Typ=1 Len=9 CharacterSet=AL32UTF8: 248,248,248,248,248,248,248,248,248

Вопрос1: В одной таблице могут храниться данные разных кодировок?
Вопрос2: Куда пропало по одной букве во второй и третей строке?
Вопрос3: Функция dump всегда показывает одной и тоже значение = кодировке БД?
-2-
Дата: 06.10.2015 12:07:41
GOSP,

Оракл работает с основной и "национальной" кодировками. Попытка использования других кодировок в рамках char-типов чревата искажением данных, особенно с многобайтными кодировками, в которых не все последовательности байтов имеют смысл.
И convert использовать не рекомендуется по этим же причинам.
GOSP
Дата: 06.10.2015 12:28:56
-2-,

Ок. Такой ответ меня вполне устраивает.