it-swarm.com.de

Wie ändere ich den Datentyp einer Spalte in SQL Server?

Ich versuche, eine Spalte von einer varchar(50) in eine nvarchar(200) zu ändern. Was ist der SQL-Befehl zum Ändern dieser Tabelle?

321
Ascalonian
ALTER TABLE TableName 
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]

EDIT Wie bereits erwähnt, hätte NULL/NOT NULL angegeben werden müssen, siehe auch Robs Antwort .

535
cmsjr

Vergessen Sie nicht die Nullfähigkeit.

ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
170
Rob Garrison

Verwenden Sie die Alter table-Anweisung.

Alter table TableName Alter Column ColumnName nvarchar(100)
22
John Sansom

Die Syntax zum Ändern einer Spalte in einer vorhandenen Tabelle in SQL Server (Transact-SQL) lautet:

ALTER TABLE table_name
    ALTER COLUMN column_name column_type;

Zum Beispiel:

ALTER TABLE employees
    ALTER COLUMN last_name VARCHAR(75) NOT NULL;

In diesem Beispiel für SQL Server ALTER TABLE wird die Spalte mit dem Namen last_name so geändert, dass sie den Datentyp VARCHAR(75) aufweist, und die Spalte wird gezwungen, keine Nullwerte zuzulassen.

siehe hier

11
Yogesh Bende

Solange Sie die Größe Ihres varchar erhöhen, sind Sie OK. Gemäß der Alter Table Referenz:

Das Verringern der Genauigkeit oder Skalierung einer Spalte kann zum Abschneiden von Daten führen.

3
jocassid

Zum Ändern des Datentyps

alter table table_name 
alter column column_name datatype [NULL|NOT NULL]

Zum Ändern des Primärschlüssels

ALTER TABLE table_name  
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)