Sql Server 数据字典,showdoc

SELECT    a.colorder '序号-Colorder',a.name '列名-ColumnName' ,b.name '数据类型-TypeName', 
isnull(convert(varchar(5),
CASE When b.name ='uniqueidentifier' Then 36
WHEN (charindex('int',b.name)>0) OR (charindex('time',b.name)>0) THEN NULL
ELSE COLUMNPROPERTY(a.id,a.name,'PRECISION') end),'') as '长度-Length', (case when
(SELECT count(*) FROM sysobjects
WHERE (name in (SELECT name FROM sysindexes
WHERE (id = a.id)
AND (indid in (SELECT indid FROM sysindexkeys WHERE (id = a.id) AND (colid in (SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name)))))))
AND (xtype = 'PK'))>0 then '1' else '' end
) '主键-IsPK', (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '1' else '' end) '自增-IsIdentity', (case when a.isnullable=1 then '1' else '' end) '允许空-CanNull', Replace(Replace(IsNull(e.text,''),'(',''),')','') '默认值-DefaultVal', isnull(g.[value], ' ') AS '列说明-DeText' FROM syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join syscomments e on a.cdefault=e.id
left join sys.extended_properties g
on a.id=g.major_id AND a.colid=g.minor_id And g.class=1 left join sys.extended_properties f
on d.id=f.class and f.minor_id=0
where b.name is not NULL and d.name=表名
order by a.id,a.colorder

结果:

作者:wangwangwangMax
出处http://www.cnblogs.com/wangwangwangMax/

原文地址:https://www.cnblogs.com/wangwangwangMax/p/15407117.html