我正在尝试将列从varchar(50)
更改为nvarchar(200)
。什么是更改此表的SQL命令?
答案 0 :(得分:527)
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
修改强> 如前所述,应该指定NULL / NOT NULL,也请参见Rob's answer。
答案 1 :(得分:169)
不要忘记可空性。
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
答案 2 :(得分:21)
使用Alter表语句。
Alter table TableName Alter Column ColumnName nvarchar(100)
答案 3 :(得分:11)
修改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)
的数据类型,并强制该列不允许空值。
请参阅here
答案 4 :(得分:3)
只要你增加varchar的大小就可以了。根据{{3}}参考:
降低列的精度或比例可能会导致数据截断。
答案 5 :(得分:2)
用于更改数据类型
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
更改主键
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
答案 6 :(得分:2)
ALTER TABLE [dbo].[TableName]
ALTER COLUMN ColumnName VARCHAR(Max) NULL
答案 7 :(得分:1)
在 11g 中:
ALTER TABLE TableName
Modify ColumnName DataType;
EG: ALTER TABLE 员工 修改 BIRTH_DATE VARCHAR(30);
答案 8 :(得分:0)
ALTER TABLE [性能].[dbo].[CRA_283_Violation] ALTER COLUMN [Throughput_HS_DC_NodeB_3G_Alarm] 位
答案 9 :(得分:-9)
试试这个:
ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";