【发布时间】:2011-02-11 19:04:44
【问题描述】:
我所拥有的示例:
表:(col1 int, col2 int)
样本数据(在运行时不会知道真实数据):
1,1
2,2
3,3
4,4
预期结果:仅一列 (xml)
4 行
row1: <cols><col1>1</col1><col2>1</col2></cols>
row2: <cols><col1>2</col1><col2>2</col2></cols>
row3: <cols><col1>3</col1><col2>3</col2></cols>
row4: <cols><col1>4</col1><col2>4</col2></cols>
对不起,版主不想删除“噪音答案”。我希望他能理解我在帮助这些可怜的家伙,这样没人会看到他们完全没有抓住重点。我在保护他们的名誉...
这是一种实现我想要的方法。但这不是一个好方法,因为 xml 是手工构建的,并且没有正确编码。
declare @colsList nvarchar(max)
set @colsList = ''
select @colsList = @colsList + '+ ''<' + COLUMN_NAME + '>'' + Isnull(cast( [' + COLUMN_NAME + '] as nvarchar(max)),'''') + ''</' + COLUMN_NAME + '>'' '
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'SampleTable';
select @colsList = stuff(@colsList,1,1,'');
exec('select colsValues=cast(' + @colsList + ' as xml) from SampleTable');
【问题讨论】:
-
Softion,请停止尝试删除人们的答案,因为他们“完全没有抓住重点”。相反,请在您的问题或对他们回答的评论中阐明您实际要问的内容。
-
我已经在删除之前澄清了问题。我删除了其他用户不会被不针对此特定问题的答案打扰。
-
-1 用于将 -1 放入一个不好的原因。你觉得你在哪里。在学校 ?这是我的问题,我会随心所欲地管理它。
标签: sql-server xml tsql