替换花括号之间的文本并删除<>在字符串中

时间:2013-04-02 12:33:35

标签: sql-server-2005

如何在SQL查询中使用replace语句来替换/删除花括号内的所有文本和花括号本身。我的数据库中有许多类似的文本,如花括号,我可以使用正则表达式或类似的东西吗?

E.g。 @DN = value1!!{value2}<value3> ---&GT; VALUE1!!VALUE3 字符数是非常动态的,所以不能用数字来表示索引 从之前的讨论开始,我使用了这个

STUFF(DN, PATINDEX('%{ }%', DN), LEN(DN), '')

仅提供NULL值。

由于

1 个答案:

答案 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>