Tuesday, September 27, 2011

SQL Server 更改欄位的資料型別

目前資料庫中有一個紀錄費率的欄位是FLOAT。因為FLOAT本身不是精準的數字,造成比對時的困擾,所以把他改成DECIMAL。以下是T-SQL的語法:

ALTER TABLE FeeRate ALTER COLUMN Rate DECIMAL(8,6); 

改完後發現欄位從原本不可空值變成可空值,原來他是整個重新定義欄位,所以:

ALTER TABLE FeeRate ALTER COLUMN Rate DECIMAL(8,6) NOT NULL;