如何将员工表中工资列的列大小从数字(18,0)更改为数字(22,5)


当前回答

ALTER TABLE "Employee" MODIFY ("Salary" NUMERIC(2,5));

其他回答

对于Oracle数据库:

VARCHAR2(255 CHAR);

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。或者,您可以使用下面的语句预先检查列的可空性,并运行具有正确属性的命令。

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