我正在尝试编写一个SQL来仅在没有匹配的结束括号时选择记录
例如,如果列"TEXT_DATA"
具有'tes(ting(sql)select'
和'tes(ting(sql)sel)ect'
,则select语句应仅返回'tes(ting(sql)select'
,因为它缺少匹配的右括号")"
。
可能有一个或多个缺少关闭括号。
答案 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进行检查。您需要编写自定义代码。