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)

  • 相关阅读:
    nginx文件类型错误解析漏洞
    js 获取URL中的参数并转换为对象
    postman
    php curl参数详解
    php 两变量值互换 方法
    PHP 命名空间与spl_autoload_register() 自动加载机制
    php命名大小问题
    PHP实现冒泡排序
    使用 PHPStorm + Xdebug 实现断点调试(二)
    TSPL学习笔记(2):过程和变量绑定
  • 原文地址:https://www.cnblogs.com/eboss/p/3680195.html
Copyright © 2011-2022 走看看