gpt4 book ai didi

sql - 如何删除SQL中两个单词之间的空格(更多两个空格)

转载 作者:行者123 更新时间:2023-12-02 09:15:40 35 4
gpt4 key购买 nike

declare @var nvarchar(500)='Software    Development'
select @var as NotTrim
select LTRIM(RTRIM(@var)) as Trim

预期输出为“软件开发”(两个单词之间有一个单字)

enter image description here

最佳答案

尝试以下操作

SELECT
s,
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(s,' ',' ^'),'^ ',''),'^','')))
FROM (SELECT ' Q W E ' s) q

^ - 您可以使用字符串中未包含的任何符号。这个方法是我在论坛 sql.ru 上找到的。

此方法将任意数量的空格替换为一个空格。这个方法我用过很多次,觉得效果很好。

你的例子

declare @var nvarchar(500)='Software    Development'
select @var as NotTrim
select LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(@var,' ',' ^'),'^ ',''),'^',''))) as Trim

您可以逐步了解它是如何工作的

SELECT
s,
-- step 1 - add special char before to each spaces
REPLACE(s,' ',' ^'),
-- step 2 - delete special char and space after this special char
REPLACE(REPLACE(s,' ',' ^'),'^ ',''),
-- step 3 - delete special chars
REPLACE(REPLACE(REPLACE(s,' ',' ^'),'^ ',''),'^',''),
-- step 4 - delete start and end spaces if you need it
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(s,' ',' ^'),'^ ',''),'^','')))
FROM (SELECT ' Q W E ' s) q

关于sql - 如何删除SQL中两个单词之间的空格(更多两个空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47427303/

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