gpt4 book ai didi

sql-server - tsql:将列转换为 xml 列,每行一个 xml

转载 作者:数据小太阳 更新时间:2023-10-29 01:59:36 31 4
gpt4 key购买 nike

我所拥有的示例:

表:(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');

最佳答案

越简单越好越快

select d=(select a.* for xml path('r'),type,elements absent)
from MyTable a

关于sql-server - tsql:将列转换为 xml 列,每行一个 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4972970/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com