Размер столбцов varchar

В SQL Server имеет значение, если я определю столбец varchar, чтобы иметь длину 32 или 128?

3 ответа

Varchar - это переменное символьное поле. Это означает, что он может содержать текстовые данные определенной длины. Varchar(32) может содержать только 32 символа, тогда как varchar(128) может содержать 128 символов. Если бы я попытался ввести "12345" в поле varchar(3); это данные, которые будут сохранены:

"123"

"45" будет "усечено" (потеряно).

Они очень полезны в тех случаях, когда вы знаете, что определенное поле будет (или должно быть) только определенной длины на максимуме. Например: почтовый индекс или сокращение штата. Фактически, они обычно используются почти для всех типов текстовых данных (таких как имена / адреса / и так далее), но в этих случаях вы должны быть осторожны, чтобы число, которое вы вводите, было вменяемым максимумом для типа данных, которые будут заполнять этот столбец.

Однако вы также должны быть осторожны при их использовании, чтобы пользователь мог вводить только максимальное количество символов, которое будет поддерживать поле. В противном случае это может привести к путанице, когда оно усекает вводимые пользователем данные.

Не должно. Он просто определяет максимальную длину, которую он может вместить, фактическая используемая длина зависит от вставленных данных.

Не должно быть заметных различий, поскольку бэкэнд будет хранить только объем данных, которые вы вставляете в этот столбец. Он не дополняется до полного размера поля, как это происходит со столбцом char.

Изменить: Для получения дополнительной информации, эта ссылка должна быть полезной.

Другие вопросы по тегам