0

我正在尝试编写一个 SQL 以仅在没有匹配的右大括号时才选择记录,例如,如果该列"TEXT_DATA"'tes(ting(sql)select''tes(ting(sql)sel)ect'那么 select 语句应该只返回'tes(ting(sql)select',因为它缺少匹配的右大括号")"

可能缺少一个或多个右括号。

4

2 回答 2

0

不使用正则表达式,但它会完成这项工作:

Select text_data as [TEXT_DATA], 
    len(text_data)-len(replace(text_data, '(', '')) as [CountOpen], 
    len(text_data)-len(replace(text_data,')','')) as [CountClose] 
    into #temp 
    from table

Select TEXT_DATA from #temp where CountOpen<>CountClose
于 2013-03-15T22:32:32.897 回答
0

SQL Server 不支持复杂的正则表达式。您无法使用 TSQL 进行检查。您将需要编写自定义代码。

于 2013-03-16T03:44:32.270 回答