如何更改SQL Server中列的数据类型?

How do you change the datatype of a column in SQL Server?

我正在尝试将列从varchar(50)更改为nvarchar(200)。 什么是更改此表的SQL命令?


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

编辑
如前所述,应该指定NULL / NOT NULL,请参阅Rob的回答。


不要忘记可空性。

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


使用Alter表语句。

1
Alter table TableName Alter Column ColumnName nvarchar(100)

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

1
2
ALTER TABLE table_name
    ALTER COLUMN column_name column_type;

例如:

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

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

看这里


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

Reducing the precision or scale of a column may cause data truncation.


用于更改数据类型

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

用于更改主键

1
2
ALTER TABLE table_name  
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)


试试这个:

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