SQL Server 返回xml資料
阿新 • • 發佈:2018-12-11
返回格式如
建立臨時資料
SELECT IDENTITY(INT,1,1) AS ID,*INTO #TempTableFROM( SELECT '張三' AS Name,'張家長' AS Parent,12 AS Age, '男' AS Sex, '+0743 123456' AS Phone,'[email protected]' AS Mail UNION ALL SELECT '李四' AS Name,'李家長' AS Parent,13 AS Age,'男' AS Sex,null AS Phone,'[email protected]' AS Mail UNION ALL SELECT '王五' AS Name,'王家長' AS Parent,12 AS Age,'男' AS Sex,'+0743 111222' AS Phone,null AS Mail) T
資料處理
DECLARE @Count INT ,@Index INT=1 ,@XmlStr NVARCHAR(MAX)='',@XmlText XML='' SELECT @Count=COUNT(1) FROM #TempTable WHILE (@Count>[email protected])BEGIN DECLARE @Contact XML --行專列 SET @Contact= ( SELECT * FROM ( SELECT CASE [Type] WHEN 'ContactMail' THEN 'EM' WHEN 'ContactPhone' THEN 'TE' ELSE ''END AS '@Type', [ID] AS '@ID' FROM ( SELECT CASE WHEN ISNULL(Mail,'')<>'' THEN CAST( Mail AS VARCHAR(50)) END AS ContactMail ,CASE WHEN ISNULL(Phone,'')<>'' THEN CAST( Phone AS VARCHAR(50)) END AS ContactPhone FROM #TempTable WHERE