declare @table varchar(100) declare @a varchar(2000) set @table='a'--表名 select @a=ISNULL(@a,'')+','+name from sys.columns where object_id=(select object_id from sys.tables where name=@table) and name not in('')--括号里写你不要的列 set @a=stuff(@a,1,1,'') exec('select '+@a+' from '+@table)
DECLARE @s NVARCHAR(4000) SET @s = '' SELECT @s = @s + ',' + 'isnull('+QUOTENAME(name)+','''')' FROM syscolumns WHERE id = OBJECT_ID('表名') --AND name NOT IN ( '不希望显式的列' ) SET @s = STUFF(@s, 1, 1, '') EXEC('select '+@s+' from 表名 ')
select name + ',' from syscolumns where id = object_id('mytable') -- 这样可以把所有列名都弄出来,直接干掉最后一行和倒数第二行的逗号,就是你的结果
SELECT s.name+'=tkm.'+s.name+',' FROM syscolumns s WHERE id=OBJECT_ID('T_KPI_Mapping') 如果是连接查询什么的,可以使用这个,带上前缀什么都行
declare @table varchar(100)
declare @a varchar(2000)
set @table='a'--表名
select @a=ISNULL(@a,'')+','+name from sys.columns
where object_id=(select object_id from sys.tables where name=@table)
and name not in('')--括号里写你不要的列
set @a=stuff(@a,1,1,'')
exec('select '+@a+' from '+@table)
SET @s = ''
SELECT @s = @s + ',' + 'isnull('+QUOTENAME(name)+','''')'
FROM syscolumns
WHERE id = OBJECT_ID('表名')
--AND name NOT IN ( '不希望显式的列' )
SET @s = STUFF(@s, 1, 1, '')
EXEC('select '+@s+' from 表名 ')
select name + ','
from syscolumns
where id = object_id('mytable') -- 这样可以把所有列名都弄出来,直接干掉最后一行和倒数第二行的逗号,就是你的结果
WHERE id=OBJECT_ID('T_KPI_Mapping')
如果是连接查询什么的,可以使用这个,带上前缀什么都行