SQL Server正则表达式

时间:2013-03-15 22:25:03

标签: sql-server regex

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

可能有一个或多个缺少关闭括号。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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