Как получить разделенный запятыми список datetime в ms sql - PullRequest
0 голосов
/ 08 июня 2018

У меня есть таблица с датами и именами.Даты - это datetime, а Name - это 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, и мне нужно сохранить столбец datetime для Date.Возможно ли это?

1 Ответ

0 голосов
/ 08 июня 2018

Во-первых, ваши данные имеют тип string, как вы видите, возможно, вы ищете даты в datetime или только date.

Если это так, то вы можете использовать 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;
...