DECLARE @barcode XML
SET @barcode = '<BCODES><BCODE>a</BCODE><BCODE>b</BCODE><BCODE>c</BCODE><BCODE>d</BCODE></BCODES>'
--INSERT INTO #barcode
SELECT v.x.value('BCODE[1]','VARCHAR(15)') AS Barcodes
FROM @barcode.nodes('BCODES') v(x)
结果 - &GT;
一
我无法在输出中获得b,c和d。
答案 0 :(得分:1)
这样做:
SELECT v.x.value('.','VARCHAR(15)') AS Barcodes
FROM @barcode.nodes('BCODES/BCODE') v(x)
首先要获取所有BCODE
个节点,然后提取其值。
答案 1 :(得分:0)
你可以尝试:
DECLARE @barcode XML;
SET @barcode = '<BCODES><BCODE>a</BCODE><BCODE>b</BCODE><BCODE>c</BCODE><BCODE>d</BCODE></BCODES>';
--INSERT INTO #barcode
SELECT barcode = n.v.value('.[1]', 'NVARCHAR(128)')
FROM @barcode.nodes('BCODES/BCODE') AS n(v);
结果:
barcode
a
b
c
d