Ä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. 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:
- Fügen Sie eine neue Spalte mit einer DEFAULT-Definition hinzu, durch die anstelle von NULL ein gültiger Wert eingefügt wird.
- Kopieren Sie die Daten von der alten (vorhandenen) Spalte in die neue Spalte.
- 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.
So legen Sie Spalteneigenschaften fest
Ändern von Spalten (Visual Database Tools)
So zeigen Sie Spalteneigenschaften an
Tabellenspalteneigenschaften (SQL Server Management Studio)
So benennen Sie eine Spalte um
Vorgehensweise: Umbenennen von Spalten (Visual Database Tools)
Siehe auch
Andere Ressourcen
Genauigkeit, Dezimalstellen und Länge (Transact-SQL)