Какой тип данных я должен использовать для хранения текстовых данных? - PullRequest
2 голосов
/ 07 марта 2012

Я делаю систему профилей, у меня есть поле с именем AboutMe в базе данных, его тип данных - текст

это поле может содержать не более 30 000 символов. Проблема заключается в том, что если я использую до 27 000 символов (или более 4000), они не отображаются в пользовательском интерфейсе, вместо этого он обрезает содержимое и отображает только несколько символов. Если я использую 4000 или более 4000 символов, пользовательский интерфейс отображает менее 4000 символов

Я использую базу данных SQL Server 2008 R2.

Ответы [ 3 ]

2 голосов
/ 07 марта 2012

Тип данных text устарел , поэтому вместо него следует использовать varchar (max).

Если под пользовательским интерфейсом вы имеете в виду SQL Managament Studio, правильно, что он не будетпоказать большие текстовые значения.Редактор имеет некоторые ограничения, подобные этим, из соображений производительности.

При программном доступе к данным такого ограничения нет.Однако вам следует помнить, что большие текстовые значения отправляются в отдельном потоке данных, поэтому, если у вас есть более одного большого текстового значения на запись, вы должны обращаться к ним в порядке их выбора.

2 голосов
/ 07 марта 2012

Начиная с SQL Server 2005, вы должны использовать VARCHAR(MAX) для текста, отличного от Unicode, или NVARCHAR(MAX) для текста Unicode (используя до 2 байтов на символ).TEXT и NTEXT устарели, и больше не следует использовать .

Это текущие типы данных, и они могут обрабатываться так же, как и любой другой текстовый / строковый столбец.Все строковые функции работают с ними просто отлично.

Максимальная емкость для каждого из этих столбцов составляет 2 ГБайт данных - это 2 миллиарда символов не-Unicode или 1 миллиард символов Unicode.

Учитывая, что действительно длинная книга, такая как "1015 * Война и мир" Толстого , вероятно, имеет 5 миллионов символов или меньше (560 000 слов), этого места будет достаточно для хранения этой книги, по крайней мере 200 раз в Unicode - должно быть достаточно для большинства приложений ....

0 голосов
/ 07 марта 2012

Для этого вы можете использовать тип данных ntext.

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