SQLServer 查询某表的列名称、说明、备注、类型等信息
原创
©著作权归作者所有:来自51CTO博客作者StephenJava的原创作品,请联系作者获取转载授权,否则将追究法律责任
SELECT
表名 = case when a.colorder=1 then else '' end,
表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号 = a.colorder,
字段名 = ,
标识 = case when COLUMNPROPERTY( ,,'IsIdentity')=1 then '√'else '' end,
主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj= and name in (
SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = AND colid=a.colid))) then '√' else '' end,
类型 = ,
占用字节数 = a.length,
长度 = COLUMNPROPERTY(,,'PRECISION'),
小数位数 = isnull(COLUMNPROPERTY(,,'Scale'),0),
允许空 = case when a.isnullable=1 then '√'else '' end,
默认值 = isnull(e.text,''),
字段说明 = isnull(g.[value],'')
FROM
syscolumns a
left join
systypes b
on
a.xusertype=b.xusertype
inner join
sysobjects d
on
=d.id and d.xtype='U' and <>'dtproperties'
left join
syscomments e
on
a.cdefault=e.id
left join
sys.extended_properties g
on
=G.major_id and a.colid=g.minor_id
left join
sys.extended_properties f
on
d.id=f.major_id and f.minor_id=0
where
='表名称'
order by
,a.colorder