[英]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.