Поделиться через


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ALTER TABLE (Transact-SQL)

Изменение столбцов (визуальные инструменты для баз данных)

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

COLUMNPROPERTY (Transact-SQL)

Свойства столбца таблицы (среда SQL Server Management Studio)

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

sp_rename (Transact-SQL)

Как переименовать столбцы (визуальные инструменты для баз данных)

См. также

Другие ресурсы

Точность, масштаб и длина (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005