SqlServer如何查询表的列数

如题所述

select count(name) from syscolumns
where id=( select id from sysobjects where name='表名' and xtype='U')
说明:select id from sysobjects where name='表名' and xtype='U' 从sysobjects 里查询表类型为U(非系统)的表的id ,假设查到的是 1002 ;
select count(name) from syscolumns where id=1002 查的是系统列syscolumns 里表id是1002的列数。
你可以随便建个表,然后分步运行这两句看看
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-19
select count(*) from sysobjects a join syscolumns b
on a.id=b.id
where a.name='表名'本回答被提问者和网友采纳
第2个回答  2011-05-31
select a.name as tablename,COUNT(1) as columncount from sysobjects a join syscolumns b
on a.id=b.id
where a.type='u' group by a.name
第3个回答  2013-01-09
select o.name [表名称],c.name [列名称],* from sys.all_columns c left join sys.all_objects o on c.object_id=o.object_id
where o.type_desc like 'USER_TABLE'
第4个回答  2011-06-03
select count(*) from 数据表名称;
相似回答