gpt4 book ai didi

SQL方法用单个空格替换重复空格

转载 作者:行者123 更新时间:2023-12-03 00:10:11 24 4
gpt4 key购买 nike

有没有更优雅的方法来做到这一点。我想用单个空格替换重复的空格......

   declare @i int

set @i=0
while @i <= 20
begin
update myTable
set myTextColumn = replace(myTextColumn, ' ', ' ')
set @i=@i+1
end

(它的 sql server 2000 - 但我更喜欢通用 SQL)

最佳答案

这有效:

UPDATE myTable
SET myTextColumn =
REPLACE(
REPLACE(
REPLACE(myTextColumn
,' ',' '+CHAR(1)) -- CHAR(1) is unlikely to appear
,CHAR(1)+' ','')
,CHAR(1),'')
WHERE myTextColumn LIKE '% %'

完全基于集合;没有循环。

因此,我们用一个不寻常的字符和一个空格替换任意两个空格。如果我们将不常见的字符称为 X,则 5 个空格变为:“X X ”,6 个空格变为“X X X”。然后我们用空字符串替换“X”。因此,5 个空格变为“”,6 个空格变为“X”。然后,如果空格数为偶数,我们将删除所有剩余的“X”,留下一个空格。

关于SQL方法用单个空格替换重复空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2182877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com