Изменение свойств столбцов

Каждый столбец в таблице обладает набором таких свойств, как имя, тип данных, возможность наличия значений NULL, длина данных. Полный набор свойств столбца образует определение столбца в таблице.

Тип данных столбца

Тип данных существующего столбца может быть изменен при условии, что существующие данные в столбце могут быть неявно преобразованы в новый тип данных. Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL).

Длина данных столбца

При выборе типа данных автоматически определяется длина столбца. Увеличить или уменьшить длину можно только для столбцов типов данных binary, char, nchar, varbinary, varchar и nvarchar. Для столбцов других типов длина вычисляется на основе типа данных и не может быть изменена. Если новая задаваемая длина меньше исходной длины столбца, все значения столбца, длина которых превышает новую длину, усекаются без какого-либо предупреждения. Нельзя изменить длину столбца, определенного с ограничением PRIMARY KEY или FOREIGN KEY.

Точность столбца

Точность числового столбца определяется максимальным количеством цифр, используемых в выбранном типе данных. Точность нечислового столбца обычно определяется или максимальной длиной, или определенной длиной столбца.

Для всех типов данных, кроме decimal и numeric, точность определяется автоматически. Если необходимо переопределить максимальное количество цифр, используемых в значениях столбцов типов данных decimal и numeric, можно изменить точность этих столбцов. Компонент SQL Server Database Engine предотвращает изменение точности столбца, тип данных которого отличается от указанных типов данных.

Масштаб столбца

Масштаб столбца numeric или decimal определяется максимальным количеством цифр справа от десятичной запятой. При выборе типа данных масштаб столбца по умолчанию устанавливается в 0. Для столбцов с приблизительными числами с плавающей запятой масштаб не определен, так как количество цифр справа от десятичной запятой не фиксировано. Можно изменить масштаб столбца типа numeric или decimal, если необходимо переопределить количество цифр, стоящих справа от десятичной запятой.

Возможность наличия в столбце значений NULL

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

  1. Добавьте новый столбец с определением DEFAULT, которое вместо значения NULL вставляет допустимое значение.

  2. Скопируйте данные старого, уже существующего столбца в новый столбец.

  3. Удалите старый столбец.

Существующий столбец, в котором не допускается наличие значений NULL, может быть изменен, чтобы в нем допускались значения NULL, если только на столбце не определено ограничение PRIMARY KEY.

Разреженные столбцы и наборы столбцов

Разреженные столбцы — это столбцы, в большинстве строк которых содержатся значения NULL. Разреженные столбцы следует использовать в том случае, если от 20 до 40 процентов от всех значений столбца составляют значения NULL. Разреженные столбцы — это обычные столбцы, имеющие оптимизированное хранилище для значений NULL. Дополнительные сведения см. в разделе Использование разреженных столбцов.

В таблицах, использующих разреженные столбцы, можно назначить набор столбцов, который будет возвращать все разреженные столбцы в таблице. Набор столбцов — это нетипизированное XML-представление, которое объединяет на выходе все разреженные столбцы таблицы в структурированном виде. Набор столбцов похож на вычисляемые столбцы тем, что набор столбцов физически не хранится в таблице. Дополнительные сведения см. в разделе Использование наборов столбцов.

Задание свойств столбца

Просмотр свойств столбца

Переименование столбца