我必须查询,他们的目的是检索属于where子句的所有条目(在这个例子中并不重要),并将它们组合成一个名为ActualDropOffDateTimeUTC
的stingle列,但我遇到的问题是我收到了包含XML标签的正确结果。
如何格式化数据,使结果等于(示例):
2016-11-29T20:56:00 - 2016-11-30T09:27:00
我如何实际收到数据:
<ActualDropOffDateTimeUTC>2016-11-29T20:56:00</ActualDropOffDateTimeUTC><ActualDropOffDateTimeUTC>2016-11-30T09:27:00</ActualDropOffDateTimeUTC>
以下我有两次尝试在列ActualDropOffDateTimeUTC
和SecondAttempt
(
SELECT DISTINCT
ActualDropOffDateTimeUTC
FROM [dbo].[BookingJourneyLinkedCitySprintJobs]
WHERE
BookingReference = BJ.BookingReference AND BookingJourneyReference = BJ.BookingJourneyReference AND IsCurrentRevision = 1
FOR XML PATH('')
) as ActualDropOffDateTimeUTC,
(
SELECT
STUFF(
(
SELECT ' ' + ActualDropOffDateTimeUTC
FROM [dbo].[BookingJourneyLinkedCitySprintJobs]
WHERE
BookingReference = BJ.BookingReference AND BookingJourneyReference = BJ.BookingJourneyReference AND IsCurrentRevision = 1
FOR XML PATH(''),TYPE
).value('.','NVARCHAR(MAX)'
),1,1,''
)
) AS SecondAttempt
ActualDropOffDateTimeUTC结果:
<ActualDropOffDateTimeUTC>2016-11-29T20:56:00</ActualDropOffDateTimeUTC><ActualDropOffDateTimeUTC>2016-11-30T09:27:00</ActualDropOffDateTimeUTC>
SecondAttempt结果:
016-11-29T20:56:002016-11-30T09:27:00
2016-11-29T20:56:00 - 2016-11-30T09:27:00
答案 0 :(得分:1)
我想我明白你要做的是什么:
declare @t table(d nvarchar(100));
insert into @t values('2016-11-29T20:56:00'),('2016-11-30T09:27:00');
select stuff((
select ' - ' + d
from @t
for xml path('')
)
,1,3,'')
来源数据:
第1行:2016-11-29T20:56:00
第2行:2016-11-30T09:27:00
查询输出:
2016-11-29T20:56:00 - 2016-11-30T09:27:00