Sre*_*ree 253 sql t-sql database sql-server alter-table
如何salary将employee表中列的列大小更改numeric(18,0)为numeric(22,5)
Dar*_*ren 448
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
Run Code Online (Sandbox Code Playgroud)
Pri*_*tel 41
alter table Employee alter column salary numeric(22,5)
Run Code Online (Sandbox Code Playgroud)
Ham*_*ian 19
在ALTER COLUMN不提及属性的情况下运行NOT NULL将导致列被更改为可为空(如果已经没有).因此,您需要首先检查列是否可为空,如果不可以,请指定属性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
Run Code Online (Sandbox Code Playgroud)
Dur*_*dey 18
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
Run Code Online (Sandbox Code Playgroud)
有趣的方法可以在这里找到: How To Enlarge Your Column With No Downtime by spaghettidba
\n\n\n\n\n如果您尝试使用直接 \xe2\x80\x9cALTER TABLE\xe2\x80\x9d 命令来放大此列,必须等待 SQLServer 遍历所有行并写入新的数据类型
\n\nRun Code Online (Sandbox Code Playgroud)\n\nALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;\n为了克服这种不便,您的表可以使用一种神奇的列扩大药丸,它\xe2\x80\x99s称为行压缩。(...)\n 通过行压缩,固定大小的列只能使用实际数据适合的最小数据类型所需的空间。
\n
当表进行ROW级别压缩时,则ALTER TABLE ALTER COLUMN仅是元数据操作。
| 归档时间: |
|
| 查看次数: |
651971 次 |
| 最近记录: |