数据库里有许多表,我想得到一个表,有所有表的表名以及所有有布尔值的字段

解决方案 »

  1.   

    SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'--表名
    SYSCOLUMNS 与 SYSTYPES 可以拿到你想要的BOOL字段。
      

  2.   


    SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' 查询出所有的表。
    然后你可以用游标或者其他什么的,一个一个表的查询,找到bool值类型的数据,就丢到临时表中。(或者实体表)
      

  3.   

    猜你的意思是要把bool值的作为字段,那么你就该放到临时表,然后在pivot行转列,然后select * into newtable from 临时表。就可以了。
      

  4.   


    --获取表名
    SELECT name FROM sys.sysobjects WHERE TYPE='U'
    SELECT name  FROM sys.tables WHERE TYPE='U'
    SELECT name  FROM sys.objects WHERE TYPE='U'
    --获取字段及类型
    SELECT b.name tableName,a.name columnName,c.name typeName FROM sys.columns a
    inner join sys.objects b
    on a.object_id=b.object_id and b.TYPE='U'
    inner join sys.types c
    on a.user_type_id=c.user_type_id --and c.name='bit' -- 字段类型
    order by a.object_id
      

  5.   

    --获取表名
    SELECT name FROM sys.sysobjects WHERE TYPE='U'
    SELECT name  FROM sys.tables WHERE TYPE='U'
    SELECT name  FROM sys.objects WHERE TYPE='U'
    --获取字段及类型
    SELECT b.name tableName,a.name columnName,c.name typeName FROM sys.columns a
    inner join sys.objects b
    on a.object_id=b.object_id and b.TYPE='U'    
    inner join sys.types c
    on a.user_type_id=c.user_type_id --and c.name='bit' -- 字段类型
    order by a.object_idiamaitman概括的很全面