2

使用 SQLServer 的 RegExp 功能,我需要找到所有不以字母“M”开头的字符串,但[^M]%似乎可以工作,以便它搜索不以“M”开头的字符串,但字符串仍然需要有至少一个字符,所以这个模式不会返回空字符串!!

那么有没有[^M]%检查零或一个字符的模式?

psNOT LIKE在我的情况下,使用不是一个选项,也不是对 where 子句的任何修改,除了正则表达式模式。

4

3 回答 3

1

对于纯正则表达式,您必须使用 CLR 用户定义函数。

使用正则表达式支持,您可以搜索\b|[^M].*允许空白或非 M 字符后跟零个或多个字符的表单。

http://msdn.microsoft.com/en-us/magazine/cc163473.aspx可以帮助你。

于 2013-03-07T12:00:45.877 回答
1

进行[^M]%匹配的一种方法''是只附加一个不M属于输入的字符;

where Fld + '?' like '[^M]%'
于 2013-03-07T11:34:20.530 回答
1

你可以提出一个条件OR MyField = ''。您使用的是 SQL Server 2012,对吧?通过查看帮助页面,我看不到正则表达式http://msdn.microsoft.com/en-us/library/ms179859.aspx的任何“或”条件

于 2013-03-07T11:28:28.590 回答