這些國家,哪些天有比賽?
準備資料
drop table #UEFO_Country
CREATE TABLE #UEFO_Country
(
name varchar(30)
,rundate int
)
insert into #UEFO_Country
values (‘German’,20180101)
,(‘Spain’,20180102)
,(‘France’,20180103)
,(‘France’,20180105)
,(‘Italy’,20180104)
,(‘Italy’,20180106)
,(‘Italy’,20180107)
select name from #UEFO_Country
字串相加1
declare @String varchar(8000)=”
select @String=@String +’,’+name from #UEFO_Country
select @String
declare @String varchar(8000)=”
select @String=@String +’,’+name from #UEFO_Country
select @String
字串相加2-FOR XML PATH
使用 DISTINCT 語法過濾重複資料
select DISTINCT name,
datelist=
(
SELECT cast(rundate AS NVARCHAR ) + ‘,’ from #UEFO_Country
where name=
t0.name
使用 DISTINCT 語法過濾重複資料
select DISTINCT name,
datelist=
(
SELECT cast(rundate AS NVARCHAR ) + ‘,’ from #UEFO_Country
where name=

–把name一樣的加起來
FOR XML PATH(”)
)
from #UEFO_Country t0
使用GROUP 語法過濾重複資料
select name,datelist from
(
select name,
datelist=
(
SELECT cast(rundate AS NVARCHAR ) + ‘,’ from #UEFO_Country
where name=
t0.name
select name,datelist from
(
select name,
datelist=
(
SELECT cast(rundate AS NVARCHAR ) + ‘,’ from #UEFO_Country
where name=

–把name一樣的加起來
FOR XML PATH(”)
)
from #UEFO_Country t0
) a
group by name,datelist
order by datelist
拆字串
SELECT * FROM STRING_SPLIT(‘England,Spain,Japan’, ‘,’) –for SQL Server 2016
转载请注明:XAMPP中文组官网 » [MSSQL] 字串相加 欄位合併