首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在字符串中添加逗号的最快方法

在字符串中添加逗号的最快方法
EN

Stack Overflow用户
提问于 2022-05-21 04:01:30
回答 1查看 109关注 0票数 -1

我在Server中的一个表中存储了一个长字符串,我想在每10个字符之间添加一个“逗号”。

我是在that语句的帮助下这么做的,但是它太慢了。

有什么更快的方法吗?

以下是我所做的

代码语言:javascript
复制
declare @a varchar(max) = '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'


declare @i int = 1
declare @m int = 10
declare @ai varchar(max) = ''

while @i < len(@a)
begin
    set @ai = @ai + ',' + SUBSTRING(@a, @i, @m)
    set @i = @i + @m 
end

SELECT @ai

使用大表时,这种方法太慢了。

有更快的路吗?

EN

回答 1

Stack Overflow用户

发布于 2022-05-21 11:20:06

使用this post的可接受答案,使用String_aggNTILE functions

代码语言:javascript
复制
DECLARE @test VARCHAR(max) = '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890' 


 SELECT   String_agg( value, ',')
FROM     (
                  SELECT   String_agg( value, '') within GROUP ( ORDER BY nt1 ASC) value,
                           nt,
                           1 AS t
                  FROM    (
                                    SELECT   substring(a.b, v.number+1, 1) value,
                                             ntile(18) OVER( ORDER BY (
                                                    SELECT NULL) ) nt,
                                             row_number() OVER (ORDER BY (
                                                    SELECT NULL) ) nt1
                                    FROM     (
                                                    SELECT @test b) a
                                    JOIN     master..spt_values v
                                    ON       v.number < len(a.b)
                                    WHERE    v.type = 'P') c
                  GROUP BY nt ) d
GROUP BY t 

[医]小提琴

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72326558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档