如何在SQL Server中改变一个列的数据类型?

我想把一个列从varchar(50)改为nvarchar(200)。改变这个表的SQL命令是什么?

解决办法
ALTER TABLE TableName 
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]

EDIT 如前所述,应该指定NULL/NOT NULL,也可参见Rob'的回答

评论(5)

不要忘记无效性。

ALTER TABLE .
ALTER COLUMN  nvarchar(200) [NULL|NOT NULL]
评论(3)

使用Alter table语句。

Alter table TableName Alter Column ColumnName nvarchar(100)
评论(0)

在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;
ALTER TABLE employees
    ALTER COLUMN last_name VARCHAR(75) NOT NULL;

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

参见[这里][1]

[1]: http://www.techonthenet.com/sql_server/tables/alter_table.php

评论(1)

只要你'增加varchar的大小,你'就可以了。 按照[Alter Table][1]的参考。

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

[1]: http://msdn.microsoft.com/en-us/library/ms190273.aspx "Alter Table"

评论(0)

用于改变数据类型

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

用于更改主键

ALTER TABLE table_name  
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
评论(0)

试试这个。

ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";
评论(3)