7 个解决方案
#1
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)
#2
楼主要善于用sql server的查询分析,右键你的表==>编写表脚本为==>select 到==>新查询编辑窗口,去掉最后一个字段不是很方便吗?
#3
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 表名 ')
#4
select name + ','
from syscolumns
where id = object_id('mytable')
-- 这样可以把所有列名都弄出来,直接干掉最后一行和倒数第二行的逗号,就是你的结果
#5
楼上的好强大啊
#6
呵呵,好办法
#7
SELECT s.name+'=tkm.'+s.name+',' FROM syscolumns s
WHERE id=OBJECT_ID('T_KPI_Mapping')
如果是连接查询什么的,可以使用这个,带上前缀什么都行
WHERE id=OBJECT_ID('T_KPI_Mapping')
如果是连接查询什么的,可以使用这个,带上前缀什么都行
#1
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)
#2
楼主要善于用sql server的查询分析,右键你的表==>编写表脚本为==>select 到==>新查询编辑窗口,去掉最后一个字段不是很方便吗?
#3
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 表名 ')
#4
select name + ','
from syscolumns
where id = object_id('mytable')
-- 这样可以把所有列名都弄出来,直接干掉最后一行和倒数第二行的逗号,就是你的结果
#5
楼上的好强大啊
#6
呵呵,好办法
#7
SELECT s.name+'=tkm.'+s.name+',' FROM syscolumns s
WHERE id=OBJECT_ID('T_KPI_Mapping')
如果是连接查询什么的,可以使用这个,带上前缀什么都行
WHERE id=OBJECT_ID('T_KPI_Mapping')
如果是连接查询什么的,可以使用这个,带上前缀什么都行