Comments 6
Не хотел бы я попасть в руки к стоматологу, который в свободное время пишет под SQL Server.
-1
Я для таких целей пользуюсь SQL#
Тогда объединение в строку будет выглядеть например так:
Тогда объединение в строку будет выглядеть например так:
SELECT SQL#.String_Join('SELECT [Char] FROM dbo.Chars', ', ',1)
0
еще не рассмотрен вариант с clr
На очень больших данных он будет чуть ли не самым быстрым
На очень больших данных он будет чуть ли не самым быстрым
0
create table #t(s varchar(12))
insert into #t values('12')
insert into #t values('24')
insert into #t values('36')
insert into #t values('48')
insert into #t values('60')
;with
t1 as
(select s, row_number() over(order by s) rn
from #t
),
t2 as
(
select CAST(s as varchar(max)) [s], 2 [rn] from t1 where t1.rn = 1
union all
select t2.s + ',' + t1.s, t2.rn + 1
from t1 join t2 on t1.rn = t2.rn
)
select s from t2
where rn = (select MAX(rn) from t2)
Работает довольно быстро, хотя я не сравнивал с Вашими методами
0
Sign up to leave a comment.
String aggregation in the SQL Server world