如何更改MS SQL中列的数据types?

我正在尝试将varchar(50)列更改为nvarchar(200)。 什么是SQL命令来改变这个表?

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

编辑正如指出NULL / NOT NULL应该已经指定,请参阅罗布的答案 。

不要忘记可空性。

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

使用Alter table语句。

 Alter table TableName Alter Column ColumnName nvarchar(100) 

在SQL Server(Transact-SQL)的现有表中修改列的语法是:

 ALTER TABLE table_name ALTER COLUMN column_name column_type; 

例如:

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

此SQL Server ALTER TABLE示例将修改名为last_name VARCHAR(75)的数据types,并强制该列不允许空值。

看到这里

只要你增加你的varchar的大小,你就可以。 根据Alter Table参考:

降低列的精度或缩放比例可能会导致数据截断。

用于更改数据types

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

用于更改主键

 ALTER TABLE table_name ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name) 

尝试这个:

 ALTER TABLE "table_name" MODIFY "column_name" "New Data Type";