Сколько байтов использует Oracle при хранении одного символа?

Я попытался посмотреть здесь:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i3253

и я понимаю, что я должен предоставить длину строки для столбца, я просто не могу узнать, сколько байтов oracle использует при хранении символа. Мой предел-500 символов, поэтому, если его 1 байт / символ, я могу создать столбец с 500, если его 2 байта / символа, то 1000 и т. д.

У кого-нибудь есть ссылка на документация или знать наверняка?

Если это имеет значение, SQL вызывается из PHP, поэтому это строки PHP, которые я вставляю в базу данных. Спасибо.

3 ответов


количество байт, требуемое для хранения символа будет зависеть от набора символов. Если вы хотите сохранить 500 символов и не знаете набор символов целевой базы данных, вы должны создать столбец(или переменную) как VARCHAR2 (500 CHAR) или CHAR (500 CHAR).


простой CHAR - Это не обязательно один байт, в зависимости от настройки NLS_LENGTH_SEMANTICS.

см. Oracle SQL Language Reference в качестве отправной точки. Если вам нужно копать глубже, посмотрите на Oracle Руководство По Поддержке Глобализации.


один символ займет 1 байт.

Попробуйте здесь:

http://ss64.com/ora/syntax-datatypes.html