下面是一个示例:
ALTER TABLE TableName ADD NewField DECIMAL(18, 2) NOT NULL DEFAULT ((0))
上面的代码为“TableName”表增加了一个名为“NewField”的列(字段),其数据类型是Decimal,并且不允许Null值,默认值为“0”。
对SQL Server而言,Decimal可用来保存具有小数点而且数值确定的数值,它不像float和real是用来保存近似值。
decimal(18,2)中的“2”表示小数部分的位数,如果插入的值未指定小数部分或者小数部分不足两位则会自动补到2位小数,若插入的值小数部分超过了2为则会发生截断,截取前2位小数。
“18”指的是整数部分加小数部分的总长度,也即插入的数字整数部分不能超过“18-2”位,否则不能成功插入,会报超出范围的错误。
再如下例:
alter table TableName add NewFieldName nvarchar(50) not null default ((0))
上面的代码为“TableName”表增加了一个名为“NewFieldName”的列(字段),其数据类型是Nvarchar,并且不允许Null值,默认值为“0”。
更多推荐
SQL Server为数据表增加列(字段)的SQL语句
发布评论