gpt4 book ai didi

SQL删除两个字符之间的字符串

转载 作者:行者123 更新时间:2023-12-02 23:15:08 24 4
gpt4 key购买 nike

我有一个这样的字符串:

`a|b^c|d|e^f|g`

我想保留管道分隔符,但删除胡萝卜子分隔符,只保留该子分隔符的第一个值。

输出结果为:

`a|b|d|e|g`

有没有办法用一个简单的 SQL 函数来做到这一点?

最佳答案

另一个选项,使用CHARINDEX , REPLACESUBSTRING :

DECLARE @OriginalString varchar(50) = 'a|b^c^d^e|f|g'

DECLARE @MyString varchar(50) = @OriginalString

WHILE CHARINDEX('^', @MyString) > 0
BEGIN
SELECT @MyString = REPLACE(@MyString,
SUBSTRING(@MyString,
CHARINDEX('^', @MyString),
CASE WHEN CHARINDEX('|', @MyString, CHARINDEX('^', @MyString)) > 0 THEN
CHARINDEX('|', @MyString, CHARINDEX('^', @MyString)) - CHARINDEX('^', @MyString)
ELSE
LEN(@MyString)
END
)
, '')
END

SELECT @OriginalString As Original, @MyString As Final

输出:

Original              Final
a|b^c^d^e|f|g a|b|f|g

关于SQL删除两个字符之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36016988/

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