替换字符串中的字符。Intersystems缓存SQL

问题描述 投票:0回答:1

我最近向这个社区求助,希望得到帮助,了解如何从字符串的开头和结尾处删除一个特定的字符。在我的例子中,我需要删除的字符是一个安培符号。以下是我使用的代码,它解决了我的问题。

select substr((rpu.userrole), 2, length(rpu.userrole) - 2) AS UserRole

然而,现在我剩下的是这样的字符串 在第一个和最后一个安括号被删除之后。

BachelorLvlProvider&ShortTermAccess&WrkflwBachelorLvl

正如你所看到的,这些角色位置之间有零到几个安括号的间隔。Cache似乎有很多连接字符串的函数,但我没有找到替换字符串中字符的函数。有一个"$replace "函数,但我相信它只在ObjectScript中工作。

有谁能帮助我用','来替换所有的安括号,不管每个字符串中有多少个安括号?我需要用一个逗号和一个空格将它们分开。我包括了勾号,因为这是我在代码中使用的字符串。

任何帮助将是非常感激的。

谢谢!我最近向这个社区求助,希望能得到帮助。

sql string-formatting intersystems-cache
1个回答
1
投票

你也可以在SQL中使用REPLACE (CachéEnsembleIRIS).

SELECT REPLACE('BachelorLvlProvider&ShortTermAccess&WrkflwBachelorLvl','&',',') as UserRole

会给

BachelorLvlProvider,ShortTermAccess,WrkflwBachelorLvl


0
投票

我下面的测试工作非常好。

SELECT REPLACE(substr(('&BachelorLvlProvider&ShortTermAccess&WrkflwBachelorLvl&'), 2, length('&BachelorLvlProvider&ShortTermAccess&WrkflwBachelorLvl&') - 2),'&',',') as UserRole
© www.soinside.com 2019 - 2024. All rights reserved.