sql-检查列是否以特定的正则表达式开头

时间:2018-07-23 13:12:34

标签: sql sql-server

我有以下正则表达式[0-9]\.

我可以使用以下方法从特定列中获取所有这些事件:

select Col1 from tblTest where Col1 like '%[0-9]\.%'

这将返回包含字符串的列:“文本文本文本55.文本文本文本”

我的目标是找到“ 55”。并用“--”

因此,从本质上讲,我运行查询后,字符串将变为:“文本文本文本-55.-文本文本文本”

如何从该列中找到正则表达式,并将其替换为“文本文本-”,RegexMatch和“-文本文本”?

1 个答案:

答案 0 :(得分:0)

也许只需使用like并替换:

declare @searchStr varchar(10) = '55.';
select replace(Col1, @searchStr, '-' + @searchStr + '-') 
from tblTest
where Col1 like ('%' + @searchStr + '%');

但是请记住,该谓词不是可靠的。