Максимальный размер строки типа данных varchar2(4000). Oracle DB.
Максимальный размер VARCHAR2 это 4000 байтов
При использовании UTF-8 кодировки один символ может занимать (1 – 4) байта.
Русские символы занимают 2 байта, английские 1 байт
SELECT LENGTHB('ф'),LENGTHB('f') FROM DUAL;
Поле в таблице можно определить с указанием CHAR размер поля будет определяется кол-вом символов, но ограничен общим размером типа 4000 байт
CREATE TABLE TZ_VARCHAR2 (
V_10 VARCHAR2 (10)
, V_10_CHAR VARCHAR2 (10 CHAR)
);
INSERT INTO TZ_VARCHAR2 (V_10) VALUES ('фффффффффф'); — ошибка при вставке
INSERT INTO TZ_VARCHAR2 (V_10_CHAR) VALUES ('фффффффффф'); — успех, значение укладывается в 10 символов и размер не превышает общего ограничения 4000 байт
Максимальный размер можно увеличить через настройки:
32767 байтов или символов, если MAX_STRING_SIZE = EXTENDED
4000 байтов или символов, если MAX_STRING_SIZE = STANDARD