当前位置: 代码迷 >> SQL >> sql处置带逗号的数据
  详细解决方案

sql处置带逗号的数据

热度:65   发布时间:2016-05-05 10:34:25.0
sql处理带逗号的数据

这篇博客宗旨在于处理如何使用sql把带逗号的数据转换为表中的行以及将表中的行拼接成用逗号组成的数据。

具体代码如下功能写在注释里

--将有逗号的数据转换为一个表存储id加数据 GODECLARE @Text VARCHAR(200)SET @Text = 'test1,test2'DECLARE @xml XMLSET @xml = CONVERT(XML,'<a>'+ REPLACE(@Text,',','</a><a>')+'</a>')CREATE TABLE #TMP1(	iID VARCHAR(50),	sText VARCHAR(200))INSERT INTO #TMP1SELECT NEWID(),b.valueFROM (SELECT @xml AS 'XML') aCROSS APPLY (SELECT Tb.a.value('.','VARCHAR(200)') as value FROM  a.xml.nodes('/a') AS Tb(a)) bSELECT * FROM #TMP1GO--将一个Table中某一列的数据拼成逗号分隔的形式GO    CREATE TABLE #TMP2	(		iID INT,		sText VARCHAR(200)	)	INSERT INTO #TMP2( iID, sText )	VALUES ( 1,  'test1');	INSERT INTO #TMP2( iID, sText )	VALUES ( 1,  'test2');	DECLARE @TMP2RES VARCHAR(200)	SET @TMP2RES = (SELECT sText+',' FROM #TMP2 FOR XML PATH(''))	SET @TMP2RES = SUBSTRING(@TMP2RES,0,LEN(@TMP2RES)-1)	SELECT @TMP2RESGO

运行结果如图


  相关解决方案