如何在 SQL 中填充日期和时间

how to stuff date and time in SQL

我无法在 SQL 服务器中填充同一项目的日期和时间。下面是三个简单的记录。

Date_Time                ID
9/6/2018 5:36:30 PM      12345
9/6/2018 6:19:02 PM      12345
9/7/2018 4:15:55 AM      12345

我希望我的结果在 1 行中,Date_Time 列填充后跟一个逗号 (,)。

Date_Time                                                       ID
9/6/2018 5:36:30 PM, 9/6/2018 6:19:02 PM, 9/7/2018 4:15:55 AM   12345

有人可以指点我正确的 direction/link 或一个简单的查询来解决问题吗?

谢谢, XH.

如果您使用的是 sql 服务器 2017 或更高版本,您可以使用 string_agg,如下所示:

select id, string_agg(convert(varchar,DATE_Time, 22), ', ')
    from #YourTable 
    group by id

如果低于 sql 服务器 2017,您可以使用以下查询:

select id, stuff ((
    select ', ' + convert(nvarchar, date_time, 22) from #Table2 where id = t.id
    for xml path('')
    ),1,2,'') as dates
from #Table2 t
group by id

在 MySQL

SELECT id, group_concat(Date_Time) as test FROM TABLE_NAME GROUP BY ID