你的问题还不清楚......
这是怎么选SQL Server中的价值观,我不知道在MySQL中的语法,但它会类似。
将数据类型(varchar(max))更改为任何所需的类型。
DECLARE @xml XML=
'<Table1><c1><![CDATA[0001]]></c1><c2></c2><c3></c3><c4></c4><c5></c5><c6></c6><c7></c7><c8></c8><c9><![CDATA[na80]]></c9><c10><![CDATA[pp61]]></c10><c11><![CDATA[uc131]]></c11><c12><![CDATA[]]></c12><c13><![CDATA[سکول]]></c13><c14><![CDATA[25-May-13 12:00:00 AM]]></c14><c15><![CDATA[True]]></c15><c16></c16><c17><![CDATA[1]]></c17><c18><![CDATA[1867]]></c18><c19><![CDATA[0]]></c19><c20><![CDATA[1867]]></c20><c21></c21></Table1>';
SELECT x.y.value('c1[1]','varchar(max)') AS c1
,x.y.value('c2[1]','varchar(max)') AS c2
,x.y.value('c3[1]','varchar(max)') AS c3
,x.y.value('c4[1]','varchar(max)') AS c4
,x.y.value('c5[1]','varchar(max)') AS c5
,x.y.value('c6[1]','varchar(max)') AS c6
,x.y.value('c7[1]','varchar(max)') AS c7
,x.y.value('c8[1]','varchar(max)') AS c8
,x.y.value('c9[1]','varchar(max)') AS c9
,x.y.value('c10[1]','varchar(max)') AS c10
,x.y.value('c11[1]','varchar(max)') AS c11
,x.y.value('c12[1]','varchar(max)') AS c12
,x.y.value('c13[1]','varchar(max)') AS c13
,x.y.value('c14[1]','varchar(max)') AS c14
,x.y.value('c15[1]','varchar(max)') AS c15
,x.y.value('c16[1]','varchar(max)') AS c16
,x.y.value('c17[1]','varchar(max)') AS c17
,x.y.value('c18[1]','varchar(max)') AS c18
,x.y.value('c19[1]','varchar(max)') AS c19
,x.y.value('c20[1]','varchar(max)') AS c20
,x.y.value('c21[1]','varchar(max)') AS c21
FROM @xml.nodes('/Table1') AS x(y);
你想用这个XML做什么。请清楚说明。你想要将每个XML标签值存储在不同的列中吗? – kinshuk4
不知道MySQL如何处理这个问题,但是你的一个CDATA节错过了内部[] ... SQL Server会引发错误... – Shnugo
“多个记录”是什么意思?如果“Table1”是你的根标签,那么也应该有一种行标签呢? – Shnugo