如何在SQL查询中使用replace语句来替换/删除花括号内的所有文本和花括号本身。我的数据库中有许多类似的文本,如花括号,我可以使用正则表达式或类似的东西吗?
E.g。 @DN = value1!!{value2}<value3>
---&GT; VALUE1!!VALUE3
字符数是非常动态的,所以不能用数字来表示索引
从之前的讨论开始,我使用了这个
STUFF(DN, PATINDEX('%{ }%', DN), LEN(DN), '')
仅提供NULL
值。
由于
答案 0 :(得分:0)
尝试一下:
Declare @DN varchar(100)
Set @DN = 'value1!!{value2}<value3>'
Select Left(@DN, CHARINDEX('{',@DN) -1) + REPLACE(REPLACE(SUBSTRING(@DN, CHARINDEX('}', @DN)+1, (LEN(@DN) - CHARINDEX('}', @DN))), '<',''),'>','')
它很乱,但会给你。
value1!!<value3>