如何将employee表中salary列的列大小从numeric(18,0)更改为numeric(22,5)
employee
salary
numeric(18,0)
numeric(22,5)
alter table Employee alter column salary numeric(22,5)
ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
运行ALTER COLUMN而不提及属性NOT NULL将导致该列被更改为可空,如果它已经不是。因此,您需要首先检查列是否为空,如果不是,则指定属性NOT NULL。或者,您可以使用下面的语句预先检查列的可空性,并运行具有正确属性的命令。
ALTER COLUMN
NOT NULL
IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0 ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL ELSE ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NULL
右键单击要修改的表—>选择“Design"——比;更改“数据类型”中的值。列如下图所示:
然后保存以完成对表设计的更改。
GUI方法用于小表。 如果你在大的表中进行更改,那么只使用命令,并排检查阻塞是否发生,直到命令完成
这里可以找到有趣的方法:如何放大你的专栏没有停机由spaghettidba
如果你试图用一个直接的“ALTER TABLE”命令来放大这个列,您将不得不等待SQLServer遍历所有行并写入新的数据类型 ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type; 为了克服这种不便,有一个神奇的列扩大药丸,你的表可以服用,它被称为行压缩。(…) 使用行压缩,固定大小的列只能使用实际数据适合的最小数据类型所需的空间
如果你试图用一个直接的“ALTER TABLE”命令来放大这个列,您将不得不等待SQLServer遍历所有行并写入新的数据类型
ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;
当表在ROW级别被压缩时,则ALTER TABLE ALTER COLUMN是仅元数据操作。
ROW
ALTER TABLE ALTER COLUMN
可以使用ALTER命令修改表模式。
ALTER
修改列大小的语法为
ALTER table table_name modify COLUMN column_name varchar (size);
ALTER TABLE ';Employee"修改(“Salary"5)数字(22日);
对于Oracle数据库:
ALTER TABLE table_name MODIFY column_name VARCHAR2(255 CHAR);
在这种情况下,您需要使用ALTER TABLE语句来增加列的大小。
下面是它的语法
ALTER TABLE table_name . 修改column_name varchar (new_length); < / p >