SqlServer如何查询表的列数
select count(name) from syscolumns
创新互联公司主营鱼峰网站建设的网络公司,主营网站建设方案,重庆APP软件开发,鱼峰h5微信小程序开发搭建,鱼峰网站营销推广欢迎鱼峰等地区企业咨询
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的列数。
你可以随便建个表,然后分步运行这两句看看
sqlserver 查询结果列组成字符串
Select L.lastid,f.firstid,(Select 姓名+':'+电话+',' from [last] where firstid=f.firstid For XML Path(''))
from [first] F left join [last] L
on F.firstid=L.firstid Group by L.lastid,f.firstid
如何在sqlserver中获取表的所有列信息
1.查询数据库中的所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
2.查询某个数据库中所有的表名:
SELECT Name FROM SysObjects Where XType='U' ORDER BY Name
3.查询表结构信息:
SELECT (case when a.colorder=1 then d.name else null end) 表名,
a.colorder 字段序号,a.name 字段名,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
(case when (SELECT count(*) FROM sysobjects
WHERE (name in (SELECT name FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name)))))))
AND (xtype = 'PK'))0 then '√' else '' end) 主键,b.name 类型,a.length 占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,(case when a.isnullable=1 then '√'else '' end) 允许空,
isnull(e.text,'') 默认值,isnull(g.[value], ' ') AS [说明]
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name'dtproperties'
left join syscomments e on a.cdefault=e.id
left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.class and f.minor_id=0
where b.name is not null
--WHERE d.name='要查询的表' --如果只查询指定表,加上此条件
order by a.id,a.colorder
SQLSERVER 怎么查询某一数值在哪一列 和 哪几列
就拿你这个来说
select a+b+c from table
得到几就是几了呗,如果是其他字符,比如
select case when a='x' then 1 else 0 end +case when b='x' then 1 else 0 end +case when c='x' then 1 else 0 end from table
sqlserver 如何根据条件选择要检索的列 case when
SELECT id,
CASE WHEN id=1 THEN firstname ELSE user END 'username'
FROM tb1
如果是查询条件要用这个就套一个
SELECT *
FROM tb1 a
WHERE username=(SELECT CASE WHEN id=1 THEN firstname ELSE user END
FROM tb1
WHERE id=a.id);
网站名称:sqlserver查询列,sqlserver查询列数
文章分享:http://lswzjz.com/article/dssjpso.html