//查找新增字段
select name as '新增字段',(select name from 【测试库】.sys.sysobjects where id= tech.id ) as '表名',* from 【测试库】.sys.syscolumns as tech
where name not in(
select name from 【正式库】.sys.syscolumns
)
//查找修改字段
注释:
SQLServer中SYSCOLUMNS表的各个字段的意义
列名 数据类型 描述
name sysname 列名或过程参数的名称。
id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。
typestat tinyint 仅限内部使用。
xusertype smallint 扩展的用户定义数据类型 ID。(值于xtype值一致)
length smallint systypes 中的最大物理存储长度
。(例:xtype=int,length=4,xtype=nvarchar(50),length=100,xtype=decimal,length=9,xtype=datetime,length=8,xtype=uniqueidentifier,length=16;......)
xprec tinyint 仅限内部使用。
(该字段可有多少个字符数,例decimal(18,3) 则xprec=18,但是datetime则是23位[ YYYY-MM-DD HH:mm:ss sss],int 型则是10)
xscale tinyint 仅限内部使用。
(保留小数位数,decimal会有,例decimal(18,3) 则xscale=3)
colid smallint 列或参数 ID。
(字段所在位置。1表示该字段是第一个,3表示该字段在第三个位置)
xoffset smallint 仅限内部使用。
bITpos tinyint 仅限内部使用。
reserved tinyint 仅限内部使用。
colstat smallint 仅限内部使用。
(是否是主键,1表示是,0表示不是)
cdefault int 该列的默认值 ID。
number smallint 过程分组时(0 表示非过程项)的子过程号。
autoval varbinary(255) 仅限内部使用。
status tinyint 用于描述列或参数属性的位图: 0x08 = 列允许空值。 0x10 = 当添加 varchar 或varbinary 列时,ANSI 填充生效。