zoukankan      html  css  js  c++  java
  • 查询表部分列

    如果一个表列数不固定,要求:除了第2列的其余列都查询出来,这种情况就要用到系统自带的一些表,来帮助我们:

    sysobjects——系统对象表,保存当前数据库的对象,如试图,表,存储过程,函数等等...
    重要字段:
    name(对象名);
    xtype(对象类型,试图--V;用户表--U,存储过程--P);
    id(对象id);

    select * from sysobjects

    结果如下:

    syscolumns——数据库字段表,保存表,试图,存储过程的参数;表,试图的每列在表中占一行,存储过程每个参数在表中占一行.

    重要字段:

    name(列名或者存储过程参数的名称);

    id(所属对象的id);

    colorder(列号,1,2,3...);

    select * from syscolumns

    结果如下:

    现在根据sysobjects和syscolumns联合查询获取用户表weibo所有列信息

    select a.name 对象名,a.xtype 对象类型,a.id 对象id,b.name 列名,b.id 所属对象的id,b.colorder 列号

    from sysobjects a,syscolumns b where a.id=b.id and a.xtype='U' and a.name='weibo'

    查询结果:

    可以根据列号<>2,组合查询字符串达到我们想要的结果,最终的sql脚本:

    declare @list varchar(1000),@sql nvarchar(1000)
    set @list=''
    select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id  and a.xtype='U' and a.name='weibo' and (b.colorder<>2)
    set @sql='select '+right(@list,len(@list)-1)+' from weibo'
    exec (@sql)

  • 相关阅读:
    常用公式 距离、波形、力
    代码字体
    关于flash缩放的详细解释
    色调
    工程项目1
    使用double无法得到数学上的精确结果的原因及为何不能用double来初始化BigDecimal
    第一次测验感受
    原码,补码,反码的概念及Java中使用那种存储方式
    static的含义
    第一次测试代码
  • 原文地址:https://www.cnblogs.com/eboss/p/3680195.html
Copyright © 2011-2022 走看看