一尘不染

从 SQL Server 2008 中的 XML 字段中选择值

sql

看看我的 XML 字段,我的行看起来像这样:

<person><firstName>Jon</firstName><lastName>Johnson</lastName></person>
<person><firstName>Kathy</firstName><lastName>Carter</lastName></person>
<person><firstName>Bob</firstName><lastName>Burns</lastName></person>

请注意,这些是我表中的三行。

我想将 SQL 结果作为表返回,如下所示

Jon  | Johnson
Kathy| Carter
Bob  | Burns

什么查询将完成此操作?


阅读 299

收藏
2021-06-09

共1个答案

一尘不染

鉴于 XML 字段名为“xmlField”…

SELECT 
[xmlField].value('(/person//firstName/node())[1]', 'nvarchar(max)') as FirstName,
[xmlField].value('(/person//lastName/node())[1]', 'nvarchar(max)') as LastName
FROM [myTable]
2021-06-09