wake-up-neo.com

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

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

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

_ edit _ 如前所述,应该指定NULL/NOT NULL,参见 Rob的答案

525
cmsjr

不要忘记可空性。

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

使用Alter表语句。

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

修改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)的数据类型,并强制该列不允许空值。

这里

11
Yogesh Bende

只要你增加varchar的大小就可以了。根据 更改表 参考:

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

3
jocassid

用于更改数据类型

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

用于更改主键

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