【发布时间】:2010-10-12 05:33:13
【问题描述】:
我正在尝试将列从 varchar(50) 更改为 nvarchar(200)。更改此表的 SQL 命令是什么?
【问题讨论】:
标签: sql-server tsql type-conversion alter-table
我正在尝试将列从 varchar(50) 更改为 nvarchar(200)。更改此表的 SQL 命令是什么?
【问题讨论】:
标签: sql-server tsql type-conversion alter-table
ALTER TABLE [Performance].[dbo].[CRA_283_Violation]
ALTER COLUMN [Throughput_HS_DC_NodeB_3G_Alarm] bit
【讨论】:
在 11g 中:
ALTER TABLE TableName
Modify ColumnName DataType;
例如: ALTER TABLE 员工 修改 BIRTH_DATE VARCHAR(30);
【讨论】:
ALTER TABLE [dbo].[TableName]
ALTER COLUMN ColumnName VARCHAR(Max) NULL
【讨论】:
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
编辑 如前所述,应指定 NULL/NOT NULL,另请参阅 Rob's answer。
【讨论】:
ALTER TABLE TableName ALTER COLUMN ColumnName 命令来更改现有列[NOT NULL],并且您没有明确指定它,那么之后它将是[NULL],因为这是默认值。
SysName(SSMS 不允许这样做)。
ALTER TABLE table MODIFY COLUMN column datatype 为我工作。
用于更改数据类型
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
用于更改主键
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
【讨论】:
在 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
【讨论】:
试试这个:
ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";
【讨论】:
只要增加 varchar 的大小就可以了。根据Alter Table 参考:
降低列的精度或小数位数可能会导致数据截断。
【讨论】:
使用 Alter table 语句。
Alter table TableName Alter Column ColumnName nvarchar(100)
【讨论】:
不要忘记可空性。
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
【讨论】: