#oracle
#Oracle
Вопрос:
Мне нужно найти длину поля для текстового поля в приложении. то есть, сколько слов или символов я могу хранить в этом поле. Нужно ли мне проверять это в БД или в коде?
Комментарии:
1. Это означает максимум 2000 символов или 4000 байт (общая максимальная длина), в зависимости от того, что меньше. 2000 символов могут составлять более 4000 байт при использовании многобайтового набора символов.
Ответ №1:
Во-первых , Oracle предпочитает тип данных Varchar2 вместо varchar. во-вторых, до Oracle 12C максимальная длина varchar2 в SQL составляла 4000, но в PL/SQL максимальная длина varchar2 составляла 32 Кб; начиная с 12C , она одинакова для SQL и PL/SQL, максимальная длина varchar2 составляет 32 КБ.
Комментарии:
1. Существует небольшая ошибка с размером 32 КБ для varchar2. Это действительно только в том случае, если
MAX_STRING_SIZE = EXTENDED
. Это должно быть установлено администратором базы данных, когда система находится в режиме инициализации или обслуживания. ЕслиMAX_STRING_SIZE = STANDARD
(по умолчанию) максимальный размер varchar2 остается 4000.. К сожалению, кажется, что большинство администраторов баз данных трусы и просто используют значение по умолчанию.