Кодировка данных пользовательских таблиц
Функция
Определение оператора задания кодировки для представления символьных данных в пользовательских таблицах.
Спецификация
::=
Синтаксические правила
-
< Имя кодировки >
должно представлять имя любой загруженной в БД кодировки (в том числе это может быть и MBCS-кодировка).
Общие правила
-
Для использования команды в БД должна быть создана и загружена необходимыми данными системная таблица кодировок $$$CHARSET.
-
Заданная кодировка будет использована при создании всех пользовательских таблиц.
-
Если
< пользовательская кодировка >
не указана в запросе создания таблицы, то при создании столбцов символьных типов (CHAR
,VARCHAR
) пользовательских таблиц применяется следующий алгоритм выбора кодировки (в порядке уменьшения приоритета):-
используется кодировка, указанная в запросе создания таблицы
CREATE TABLE T3 CHARACTER SET CP437(C CHAR(10));
-
если кодировка явно задана для столбца, то она и используется для этого столбца
CREATE TABLE T3 (C CHAR(10) CHARACTER SET CP437);
-
если кодировка явно не задана для столбца, но задана для всей таблицы, то она используется для всех столбцов таблицы
CREATE TABLE T3 CHARACTER SET CP437(C CHAR(10));
-
если кодировка для таблицы не задана, а по каналу был выполнен SQL-запрос
SET NAMES
(например,SET NAMES CP950;
), т.е. установлена кодировка канала, то используется она; -
если кодировка канала не задана, а установлена кодировка по умолчанию для пользовательских таблиц БД SQL-запросом
SET DATABASE DEFAULT CHARACTER SET
, то используется она; -
если кодировка по умолчанию для пользовательских таблиц БД не задана, то используется (если задана) кодировка системного словаря (SQL-запрос
SET DATABASE NAMES
); -
если кодировка системного словаря не задана, используется нулевая кодовая страница, т. е. используется введенное байтовое представление символов. В результате всегда правильно будут отображаться только символы с числовым значением до 127, корректность отображения других введенных символов будет зависеть от программного средства, используемого для их визуализации.
-