SQL Server - 将表数据转换为xml

use*_*779 3 xml t-sql sql-server

嗨,我有以下表格数据,我需要在SQl服务器中转换为Xml.有任何想法吗?

提前致谢

Party_Id  HomePhoneNumber  WorkPhoneNumber
62356     6314993578    
62356                      6314590922
62356                      6313795488
Run Code Online (Sandbox Code Playgroud)

<HomePhoneNumber>6314993578</HomePhoneNumber>
<WorkPhoneNumber>6314590922</WorkPhoneNumber>
<WorkPhoneNumber>6313795488</WorkPhoneNumber>
Run Code Online (Sandbox Code Playgroud)

Joh*_*tti 5

将空值转换为NULL.这些NULL值将从XML中排除.

Declare @YourTable table (Party_Id int,HomePhoneNumber varchar(25),WorkPhoneNumber varchar(25))
Insert Into @YourTable values
(62356,'6314993578',''),    
(62356,'','6314590922'),
(62356,'','6313795488')

Select HomePhoneNumber=case when HomePhoneNumber='' then null else HomePhoneNumber end 
      ,WorkPhoneNumber=case when WorkPhoneNumber='' then null else WorkPhoneNumber end  
 From  @YourTable 
 For   XML Path('')
Run Code Online (Sandbox Code Playgroud)

返回

<HomePhoneNumber>6314993578</HomePhoneNumber>
<WorkPhoneNumber>6314590922</WorkPhoneNumber>
<WorkPhoneNumber>6313795488</WorkPhoneNumber>
Run Code Online (Sandbox Code Playgroud)