Xml and SQL Server 2008
Xml manipulation in SQL Server 2008 is a breeze.
DECLARE @CardInfo XML ; SET @CardInfo = N'<CARDINFO> <CARD> <ID>1</ID> <ID>2</ID> </CARD> <STATUS>1</STATUS> <PURPOSE>1</PURPOSE> <CARDVALUE>120.32</CARDVALUE> <ACTIVATIONDATE>20090101</ACTIVATIONDATE> <EXPIRATIONDATE>20100101</EXPIRATIONDATE> <PRODUCTID>1</PRODUCTID> <PACKAGEID></PACKAGEID> <SESSIONID></SESSIONID> <SEMESTERID></SEMESTERID> </CARDINFO> <REASON>For A Change naman</REASON>' SELECT x.node.value('(.)[1]', 'int') CardID, x.node.value('(/CARDINFO/STATUS)[1]', 'int') StatusID, x.node.value('(/CARDINFO/PURPOSE)[1]', 'int') PurposeID, x.node.value('(/CARDINFO/CARDVALUE)[1]', 'DECIMAL(18,2)') CardValue, x.node.value('(/CARDINFO/ACTIVATIONDATE)[1]', 'DATETIME') ActivationDate, x.node.value('(/CARDINFO/EXPIRATIONDATE)[1]', 'DATETIME') ExpirationDate, x.node.value('(/CARDINFO/PRODUCTID)[1]', 'int') ProductID, x.node.value('(/CARDINFO/PACKAGEID)[1]', 'int') PackageID, x.node.value('(/CARDINFO/SESSIONID)[1]', 'int') SessionID, x.node.value('(/CARDINFO/SEMESTERID)[1]', 'int') SemesterID, x.node.value('(/REASON)[1]', 'NVARCHAR(MAX)') Reason FROM @CardInfo.nodes('/CARDINFO/CARD/ID') x ( node )
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.