如何在 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
我无法在 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