簡體   English   中英

處理XML數據類型(SQL SERVER 2005)

[英]Dealing with XML datatype(SQL SERVER 2005)

我有一個具有2列EmployeeId(int)和EmployeeDetails(XMl type)的表

EmployeeId EmployeeDetails

1 <Employee> <EmployeeDetails> <EmployeeName> Priyanka </ EmployeeName> <Age> 24 </ Age> <Address>阿根廷</ Address> </ EmployeeDetails> </ Employee>

2 <Employee> <EmployeeDetails> <EmployeeName> Sarkar </ EmployeeName> <Age> 28 </ Age> <Address>澳大利亞</ Address> </ EmployeeDetails> </ Employee>

我需要像這樣的輸出

EmployeeId EmpName年齡地址


1普里揚卡24阿根廷

2 Sarkar 28澳大利亞

請幫忙,因為我是xml的新手

關於XML的主題,聯機叢書有點難以理解。 您可能需要嘗試以下站點以尋求幫助: http : //blogs.msdn.com/mrorke/archive/2005/06/01/423965.aspx這是一小段代碼,可以幫助您。

DECLARE @Employees TABLE
    (
      EmployeeID INT ,
      EmployeeDetails XML
    )

INSERT  INTO @Employees
        ( EmployeeID ,
          EmployeeDetails 
        )
VALUES  ( 1 ,
          '<Employee><EmployeeDetails><EmployeeName> Priyanka </EmployeeName><Age> 24 </Age><Address> Argentina</Address></EmployeeDetails></Employee>'

        )


INSERT  INTO @Employees
        ( EmployeeID ,
          EmployeeDetails 
        )
VALUES  ( 2 ,
          '<Employee><EmployeeDetails><EmployeeName> Sarkar </EmployeeName><Age> 28 </Age><Address> Australia</Address></EmployeeDetails></Employee>'
        )


SELECT  EmployeeID ,
        EmployeeName = m.value('EmployeeName[1]', 'varchar(50)') ,
        Age = m.value('Age[1]', 'int') ,
        Address = m.value('Address[1]', 'varchar(100)')
FROM    @Employees e
        CROSS APPLY EmployeeDetails.nodes('/Employee/EmployeeDetails') AS e1 ( m )   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM