SqlServer如何查询表的列数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer如何查询表的列数相关的知识,希望对你有一定的参考价值。
select count(name) from syscolumnswhere 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的列数。
你可以随便建个表,然后分步运行这两句看看 参考技术A select count(*) from sysobjects a join syscolumns b
on a.id=b.id
where a.name='表名'本回答被提问者和网友采纳 参考技术B 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 参考技术C 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' 参考技术D select count(*) from 数据表名称;
SqlServer联合查询UNION
基本的原则:每个结果集必须有相同的列数;每个结果集的列必须类型相容。
SELECT FName FROM T_Employee UNION
SELECT FName FROM T_TempEmployee
1
SELECT FName FROM T_Employee
UNION ALL
SELECT FName FROM T_TempEmployee
注意:UNION合并两个查询结果集,并且将其中完全重复的数据行合并为一条,Union因为要进行重复值扫描,所以效率低,因此如果不是确定要合并重复行,那么就用UNION ALL
以上是关于SqlServer如何查询表的列数的主要内容,如果未能解决你的问题,请参考以下文章