没人?select name from syscolumns where id=object_id('tb1') order by colid
行转列?or select name from syscolumns where id=object_id('表名')
要是所有列都并到一列可用下面的,并不保证都能转换成功,(刚用要学术语的改的) declare @sql varchar(8000) select @sql=isnull(@sql+' union all select ','select ')+'cast('+ name+' as varchar(200)) 新列 from tb1 ' from syscolumns where id=object_id('tb1') order by colid exec(@sql)
DECLARE @hh TABLE(id int IDENTITY(1,1),m_param varchar(200)) INSERT INTO @hh (m_param) SELECT 'one' UNION SELECT 'two' UNION SELECT 'three' UNION SELECT 'four' SELECT id,m_param FROM @hh/* id m_param ----------- ----------- 1 four 2 one 3 three 4 two */ /* 你要查询结果显示为一列.竖例. 你要的是什么效果? */ /* 1 four 2 one 3 three 4 two */ --你是要这样的效果吗?
declare @sql varchar(8000)
select @sql=isnull(@sql+' union all select ','select ')+'cast('+ name+' as varchar(200)) 新列 from tb1 ' from syscolumns where id=object_id('tb1') order by colid
exec(@sql)
DECLARE @hh TABLE(id int IDENTITY(1,1),m_param varchar(200))
INSERT INTO @hh (m_param)
SELECT 'one' UNION
SELECT 'two' UNION
SELECT 'three' UNION
SELECT 'four'
SELECT id,m_param FROM @hh/*
id m_param
----------- -----------
1 four
2 one
3 three
4 two
*/
/*
你要查询结果显示为一列.竖例.
你要的是什么效果?
*/
/*
1
four
2
one
3
three
4
two
*/
--你是要这样的效果吗?