how to stuff date and time in SQL

2020-05-08 08:47发布

i am having trouble stuffing the date and time for the same item in SQL sever. Below are three simple records.

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

I would like my result to be in 1 row and the Date_Time column got stuffed followed by a comma (,).

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

Would someone please point me to the right direction/link or a simple query to resolve the issue?

Thanks, XH.

2条回答
三岁会撩人
2楼-- · 2020-05-08 09:06

If you are using sql server 2017 or above you can use string_agg as below:

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

If it is below sql server 2017 you can use below query:

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
查看更多
乱世女痞
3楼-- · 2020-05-08 09:15

On MySQL

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

登录 后发表回答