• [转]获取SQL SERVER表字段详细信息


    --//获取指定表的所有字段信息

    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 parent_obj=a.id 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
        sysproperties g
    on
        a.id=g.id and a.colid=g.smallid 
    left join
        sysproperties f
    on
        d.id=f.id and f.smallid=0
    where
        d.name='要查询的表' --如果只查询指定表,加上此条件
    order by
        a.id,a.colorder

    =====================================

    SQL code /*
    表名    表说明 字段序号 字段名    标识 主键    类型    占用字节数 长度 小数位数 允许空  默认值      字段说明                                                                                                                                                                                                                                                          
    ------- ----- -------  -------- ---- ------- ------ ------- --------------- ------ ---------- ----------
    authors       1        au_id          √     id      11     11      0                         
                  2        au_lname              varchar 40     40      0                         
                  3        au_fname              varchar 20     20      0                         
                  4        phone                 char    12     12      0              ('UNKNOWN')
                  5        address               varchar 40     40      0       √                
                  6        city                  varchar 20     20      0       √                
                  7        state                 char    2      2       0       √                
                  8        zip                   char    5      5       0       √                
                  9        contract              bit     1      1       0                         
    (所影响的行数为 9 行)
    */

  • 相关阅读:
    【代码笔记】iOS-点击搜索跳转到另外一个页面
    【代码笔记】iOS-仿安卓,本页出现多个选择项
    【代码笔记】iOS-点击任何处,显示出红色的UIView
    【代码笔记】iOS-点击任何处,出现城市
    【代码笔记】iOS-点击加号增加书架,点击减号减少书架
    【代码笔记】iOS-点击出现选择框
    【代码笔记】iOS-底下滚动,上面标题栏也会跟着变动
    【代码笔记】iOS-等待动画
    【代码笔记】iOS-登陆单例
    【代码笔记】iOS-获得现在的时间
  • 原文地址:https://www.cnblogs.com/moon25/p/2143960.html
Copyright © 2020-2023  润新知