我需要第一次将xml列子串。下面是xml列中的一行。我需要每个DRN,日期,金额子串。有时一行中可能有多个实例。我将如何对此进行细分?
<ITEMS><ITEM SEQ="0" INDNO="50814" DRN="N00230000004816012012" CR_GUID="FB64CD73-8048-4775-81F2-969AE2AB442C" DR_GUID="8025D121-E3B6-4479-A393-CDDC5BEB53C0" CR_ACC="" DR_ACC="" AMOUNT="0" DATE="20120202" /></ITEMS>
谢谢。
答案 0 :(得分:0)
您不使用substring
使用xml Data Type Methods
MS SQL Server 2008架构设置:
create table YourTable
(
XMLColumn xml
)
insert into YourTable values
('<ITEMS><ITEM SEQ="0" INDNO="50814" DRN="N00230000004816012012" CR_GUID="FB64CD73-8048-4775-81F2-969AE2AB442C" DR_GUID="8025D121-E3B6-4479-A393-CDDC5BEB53C0" CR_ACC="" DR_ACC="" AMOUNT="0" DATE="20120202" /></ITEMS>')
查询1 :
select I.N.value('@DRN', 'varchar(50)') as DRN
from YourTable as T
cross apply T.XMLColumn.nodes('/ITEMS/ITEM') as I(N)
<强> Results 强>:
| DRN |
-------------------------
| N00230000004816012012 |