Изменить кодификацию в таблице оракула - PullRequest
0 голосов
/ 06 ноября 2018

Привет, у меня есть сомнения в чем-то. Возможно ли изменить кодификацию в оракуле с помощью инструмента или оговорки? Я делаю вставку значений в таблицу с плохой кодификацией, и мои имена имеют символы с ошибками.

enter image description here

Я хочу проверить эту ошибку. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Если вы хотите, чтобы ваши описательные поля могли содержать какой-либо символ, вы должны объявить их как NVARCHAR2, NCHAR или NCLOB вместо VARCHAR, CHAR и CLOB. Обычно кодировка, используемая для этих типов, является кодировкой UNICODE.

Другой вариант - переустановить весь экземпляр, чтобы использовать даже для обычных строк кодировку UTF8.

если вы выберете этот второй вариант, вы должны знать, что VARCHAR2 (10) означает 10 БАЙТОВ, а не 10 символов: «ñ» в UTF8 составляет 2 байта. Если вы действительно имеете в виду символы, вы должны объявить их как VARCHAR2 (10 CHAR).

0 голосов
/ 06 ноября 2018

Вы можете использовать ограничение check. Например, если вам нужны только правильные буквы (из английского алфавита):

alter table t add constraint chk_t_col
    check (regexp_like(col, '^[a-zA-Z]$'))

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...