我有一个用户定义的函数来解析字符串。我的字符串看起来像1@>@100
。因此,当我调用我的函数时,它返回三个记录,其中包含1,>我需要将这些结果作为列插入到临时表中。
我的临时表有三列。
或者您可以认为我有TEMP表(表只有一列)有3行,我需要将结果转换为3列。
所以select * from #tmptable会给我3行,但我需要将所有3行显示为列。 提前谢谢。
答案 0 :(得分:0)
除非我误解了这个问题:
INSERT INTO tablename VALUES(1,'>',100);
除非第一列和第三列是字符串,否则你也会在它们周围加上单引号。
答案 1 :(得分:0)
您可以尝试在临时表中添加标识并执行PIVOT:
declare @t table(id int identity(1,1), strfrag varchar(8))
insert into @t values
('1'), ('>'), ('100');
select [1],[2],[3] from @t
pivot (
max(strfrag)
for id in ([1],[2],[3])
) as pt;
结果:
1 2 3
-------- -------- --------
1 > 100