Sql 更健壮(不过如果你在列名中使用],你肯定是受虐狂)选择QUOTENAME(name)+',并用反向(STUFF(REVERSE(…))、1、1、)去掉最后的,。如果我们只需要这些列,则缺少和类似“TRx%”的名称。(这种方法的优点之一是能够根据我们喜欢的任
Sql 更健壮(不过如果你在列名中使用],你肯定是受虐狂)选择QUOTENAME(name)+',并用反向(STUFF(REVERSE(…))、1、1、)去掉最后的,。如果我们只需要这些列,则缺少和类似“TRx%”的名称。(这种方法的优点之一是能够根据我们喜欢的任,sql,sql-server,loops,Sql,Sql Server,Loops,更健壮(不过如果你在列名中使用],你肯定是受虐狂)选择QUOTENAME(name)+',并用反向(STUFF(REVERSE(…))、1、1、)去掉最后的,。如果我们只需要这些列,则缺少和类似“TRx%”的名称。(这种方法的优点之一是能够根据我们喜欢的任何标准从实际列中进行挑选,因此您不妨炫耀一下。)对。。。我想提供一个更“通用”的模板,可以定制,并且尽可能“清晰”。不过,我会更新代码片段,使其更加清晰。谢谢,谢谢。代码运行得很完美,但很难理解,因为我是sql新手。谢谢。代码运行得很完美,但很
更健壮(不过如果你在列名中使用
]
,你肯定是受虐狂)<代码>选择QUOTENAME(name)+',并用反向(STUFF(REVERSE(…))、1、1、)
去掉最后的,
。如果我们只需要这些列,则缺少和类似“TRx%”的名称。(这种方法的优点之一是能够根据我们喜欢的任何标准从实际列中进行挑选,因此您不妨炫耀一下。)对。。。我想提供一个更“通用”的模板,可以定制,并且尽可能“清晰”。不过,我会更新代码片段,使其更加清晰。谢谢,谢谢。代码运行得很完美,但很难理解,因为我是sql新手。谢谢。代码运行得很完美,但很难理解,因为我是sql新手。
DECLARE @flag INT
DECLARE @sel varchar(255)
DECLARE @frm varchar(255)
SET @flag = 1;
SET @sel = 'select TRx';
SET @frm = ' from sdata';
exec(@sel +
(WHILE @flag <=5
@flag
SET @flag = @flag + 1)
+ @frm)
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'my name here'
-- Grab the names of all the remaining columns
DECLARE @sql nvarchar(MAX);
DECLARE @columns nvarchar(MAX);
SELECT @columns = STUFF ( ( SELECT N'], [' + name
FROM sys.columns
WHERE object_id = (select top 1 object_id FROM sys.objects where name = 'sdata')
AND name LIKE 'TRx%' -- To limit which columns
ORDER BY column_id
FOR XML PATH('')), 1, 2, '') + ']';
PRINT @columns
SELECT @sql = 'SELECT ' + @columns + ' FROM sdata';
PRINT @sql;
EXEC (@sql);
Declare @From Int = 1,
@To Int = 30,
@Sql NVarchar (Max)
Declare @Columns Table (Col Varchar (255))
;With Nums As
(
Select *
From (Values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) As V(N)
), Tally As
(
Select Row_Number() Over (Order By (Select Null)) As N
From Nums A --10
Cross Join Nums B --100
Cross Join Nums C --1000
)
Insert @Columns
Select 'TRx' + Cast(N As Varchar)
From Tally
Where N Between @From And @To
;With Cols As
(
Select (
Select QuoteName(Col) + ',' As [text()]
From @Columns
For Xml Path ('')
) As Cols
)
Select @Sql = 'Select ' + Left(Cols, Len(Cols) - 1) + ' From SData'
From Cols
--Select @Sql
Execute (@Sql)