修改列属性的问题
我有一张表a,有一列为S01,它的属性为decimal(12,2),默认值为0,表a里有数据n条(如:2.65, 3.24, 1.87等)
我要通过sql修改(因为我是用delphi写程序的,所以不要在企业管理器里直接修改)S01的属性为decimal(12,1),默认值为0,且表a里的数据自动四舍五入到小数后一位(结果应该是:2.7, 3.2, 1.9等)
我直接用alter table a alter column S01 decimal(12,1) 是不行的,望高手指点
[解决办法]
--測試
CREATE TABLE [dbo].[a](
[S01] [decimal](12, 2) NULL CONSTRAINT [DF_a_S01] DEFAULT ((0))
) ON [PRIMARY]
go
insert a select 2.65 union all select 3.24 union select 1.87
go
alter table a drop CONSTRAINT [DF_a_S01] --先去掉約束
go
alter table a alter column S01 decimal(12,1) --再修改字段類型
go
alter table a add CONSTRAINT [DF_a_S01] DEFAULT(0) for S01 --最后把約束加上去
go