Ändern von Spalteneigenschaften

Jede Spalte in einer Tabelle verfügt über eine Reihe von Eigenschaften, wie z. B. Name, Datentyp, NULL-Zulässigkeit und Datenlänge. Die gesamte Menge der Eigenschaften für eine Spalte bildet die Definition der Spalte in einer Tabelle.

Datentyp der Spalte

Der Datentyp einer vorhandenen Spalte kann geändert werden, vorausgesetzt, die in der Spalte enthaltenen Daten können implizit in den neuen Datentyp konvertiert werden. Weitere Informationen finden Sie unter ALTER TABLE (Transact-SQL).

Länge der Daten in einer Spalte

Wenn Sie einen Datentyp auswählen, wird die Länge automatisch definiert. Sie können die Längeneigenschaft nur für eine Spalte erhöhen oder verringern, die den Datentyp binary, char, nchar, varbinary, varchar oder nvarchar aufweist. Für Spalten mit anderen Datentypen wird die Länge aus dem Datentyp abgeleitet und kann nicht geändert werden. Wenn die neu angegebene Länge geringer ist als die ursprüngliche Spaltenlänge, werden alle Werte in der Spalte, die die neue Länge überschreiten, ohne Warnung abgeschnitten. Allerdings ist es nicht möglich, die Länge einer durch eine PRIMARY KEY- oder FOREIGN KEY-Einschränkung definierten Spalte zu ändern.

Spaltengenauigkeit

Die Genauigkeit einer nummerischen Spalte gibt die maximale Anzahl an Ziffern an, die vom ausgewählten Datentyp verwendet wird. Die Genauigkeit einer nicht nummerischen Spalte bezeichnet im Allgemeinen entweder die maximale Länge oder die definierte Länge einer Spalte.

Für alle Datentypen bis auf decimal und numeric wird die Genauigkeit automatisch definiert. Sie können die Spaltengenauigkeit für die Datentypen decimal und numeric ändern, wenn Sie die maximale Anzahl an Stellen für diese Spalten neu definieren möchten. SQL Server Database Engine (Datenbankmodul) lässt nicht zu, dass Sie die Genauigkeit einer Spalte ändern, die nicht einen der beiden zuvor aufgeführten Datentypen aufweist.

Dezimalstellen einer Spalte

Die Dezimalstellen einer Spalte des numeric- oder decimal-Datentyps entsprechen der maximalen Anzahl an Ziffern rechts vom Dezimalkomma. Wenn Sie einen Datentyp auswählen, werden die Dezimalstellen in der Spalte standardmäßig auf den Wert 0 festgelegt. Bei Spalten mit angenäherten Gleitkommazahlen sind die Dezimalstellen nicht definiert, da die Anzahl der Ziffern rechts vom Dezimalkomma variabel ist. Sie können die Dezimalstellen für eine numeric- oder decimal-Spalte ändern, wenn Sie die Anzahl an Stellen neu definieren möchten, die rechts vom Dezimalkomma erscheinen können.

NULL-Zulässigkeit einer Spalte

Eine Spalte kann so definiert werden, dass sie NULL-Werte entweder zulässt oder nicht zulässt. Standardmäßig lässt eine Spalte NULL-Werte zu. Wenn Sie die Definition einer vorhandenen Spalte dahingehend ändern möchten, dass NULL-Werte nicht mehr zulässig sind, ist dies nur möglich, wenn die Spalte derzeit keine NULL-Werte enthält und die Spalte zurzeit nicht in einen Index einbezogen ist. Wenn NULL-Werte in einer Spalte, die bereits NULL-Werte enthält, nicht mehr zulässig sein sollen, müssen Sie die folgenden Schritte ausführen:

  1. Fügen Sie eine neue Spalte mit einer DEFAULT-Definition hinzu, durch die anstelle von NULL ein gültiger Wert eingefügt wird.

  2. Kopieren Sie die Daten von der alten (vorhandenen) Spalte in die neue Spalte.

  3. Löschen Sie die alte Spalte.

Sie können die Definition einer vorhandenen Spalte, die keine NULL-Werte zulässt, dahingehend ändern, dass NULL-Werte zulässig sind. Dies gilt jedoch nur unter der Voraussetzung, dass für die Spalte keine PRIMARY KEY-Einschränkung definiert ist.

Spalten mit geringer Dichte und Spaltensätze

Spalten mit geringer Dichte sind Spalten, die im größten Teil der Tabellenzeilen NULL-Werte enthalten. Verwenden Sie Spalten mit geringer Dichte, wenn 20 bis 40 Prozent der Werte in einer Spalte NULL-Werte sind. Spalten mit geringer Dichte sind gewöhnliche Spalten, die einen optimierten Speicher für NULL-Werte haben. Weitere Informationen finden Sie unter Verwenden von Spalten mit geringer Dichte.

Für Tabellen, die Spalten mit geringer Dichte aufweisen, können Sie einen Spaltensatz festlegen, der alle Spalten der Tabelle mit geringer Dichte zurückgibt. Bei einem Spaltensatz handelt es sich um eine nicht typisierte XML-Darstellung, die alle Tabellenspalten mit geringer Dichte in einer strukturierten Ausgabe kombiniert. Wie auch berechnete Spalten werden Spaltensätze nicht physisch in der Tabelle gespeichert. Weitere Informationen finden Sie unter Verwenden von Spaltensätzen.

So legen Sie Spalteneigenschaften fest

So zeigen Sie Spalteneigenschaften an

So benennen Sie eine Spalte um