我试图改变一个列从一个varchar(50)到一个nvarchar(200)。修改该表的SQL命令是什么?


当前回答

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

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

其他回答

ALTER TABLE [Performance].[dbo].[CRA_283_Violation]
ALTER COLUMN [Throughput_HS_DC_NodeB_3G_Alarm] bit
ALTER TABLE [dbo].[TableName]
ALTER COLUMN ColumnName VARCHAR(Max) NULL

只要增加varchar的大小就没问题。根据Alter Table引用:

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

用于更改数据类型

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

更改主键

ALTER TABLE table_name  
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)

在11 g:

ALTER TABLE TableName
Modify ColumnName DataType;

例如: 更改表格员工 修改出生日期VARCHAR(30)