如何在ms sql中获取逗号分隔的日期时间列表

时间:2018-06-08 08:29:47

标签: sql sql-server sql-server-2012

我有一张包含日期和名字的表格。日期是日期时间,名称是nvarchar(50) 就像这样:

ID   | Name   | Date
1    | Joe    | 12.12.2012.
2    | Joe    | 15.12.2013.

如何获得这样的输出:

ID   | Name   | Date
1    | Joe    | 12.12.2012.; 15.12.2013.

我知道我可以用xml的东西来获取它,但是Date列是nvarchar,我需要保留Date列的日期时间。有可能吗?

1 个答案:

答案 0 :(得分:1)

首先,您的数据显示为string类型,或许您正在寻找datetimedate中的日期。

如果是,那么您可以使用concat()

select t.name,
       stuff( (select concat(';', convert(date, t1.[date], 103))
               from table t1
               where t.name = t1.name
               for xml path('')), 1,1, ''
              ) as Date
from table t
group by t.name;