我的查询返回所有调用。我需要将返回的XML值分为4列:将SQL XML解析回SQL列
FirstCallDate,SecondCallDate,ThirdCallDate,LastCallDate。
当前查询:
SELECT AllCalls FROM
(
SELECT
( SELECT startdate
FROM mycalls i WITH (NOLOCK) WHERE i.phone = d.phone FOR XML AUTO)
AS AllCalls
FROM [MYDB].[dbo].[Accounts] d WITH (NOLOCK)
WHERE SubmittedDate BETWEEN @MyStartDate AND @MyEndDate
) e
这有时会返回:
- NULL
- 我STARTDATE = “2012-02-29T13:50:37”/>
- 我startdate =“2012-02-29T14:20:58”/> i startdate =“2012-02-29T14:21:13”/>(删除开始括号)
- 3 +日期
- 4 +红枣
- 5 +红枣
- 等
所以我回来查询应该看起来像下面的SQL,但每列应该只持有1个日期。
SELECT FirstCallDate, SecondCallDate, ThirdCallDate, LastCallDate
FROM
(
SELECT
( SELECT startdate
FROM mycalls i WITH (NOLOCK) WHERE i.phone = d.phone FOR XML AUTO)
AS AllCalls
FROM [MYDB].[dbo].[Accounts] d WITH (NOLOCK)
WHERE SubmittedDate BETWEEN @MyStartDate AND @MyEndDate
) e
关于如何将XML解析回SQL列的任何想法?