sql 2008获取表字段说明

select  b.[value]
from    sys.columns a
        left join sys.extended_properties b on a.object_id = b.major_id and a.column_id = b.minor_id
        inner join sysobjects c on a.column_id = c.id and a.[name] = '列名' and c.[name] = '表名'
select  表名 = case when a.colorder = 1 then d.name
                  else ''
             end ,
        表说明 = case when a.colorder = 1 then isnull(f.value, '')
                   else ''
              end ,
        字段序号 = a.colorder ,
        字段名 = a.name ,
        标识 = case when columnproperty(a.id, a.name, 'IsIdentity') = 1 then ''
                  else ''
             end ,
        主键 = case when exists ( select  1
                                from    sysobjects
                                where   xtype = 'PK' and name in (select    name
                                                                  from      sysindexes
                                                                  where     indid in (select    indid
                                                                                      from      sysindexkeys
                                                                                      where     id = a.id and colid = a.colid)) ) then ''
                  else ''
             end ,
        类型 = b.name ,
        占用字节数 = a.length ,
        长度 = columnproperty(a.id, a.name, 'PRECISION') ,
        小数位数 = isnull(columnproperty(a.id, a.name, '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 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
        left join sys.extended_properties f on d.id = f.major_id and f.minor_id = 0
--where d.name='orders' --如果只查询指定表,加上此条件
order by a.id ,
        a.colorder

 

posted @ 2012-05-08 19:23  angtianqiang  阅读(1831)  评论(0编辑  收藏  举报