Sql server SQL Server电话正则表达式检查

Sql server SQL Server电话正则表达式检查,sql-server,regex,Sql Server,Regex,目前对于学校,我需要对电话号码进行检查约束,这需要在SQL Server中完成 我需要检查此格式: (xxx) xxx-xxxx 我还需要包括括号和空格 到目前为止,我试过: SELECT PhoneNumber FROM Sales.Customers WHERE PhoneNumber LIKE '[(][0-9]{3}[)]\s[0-9]{3}[-][0-9]{4}' 但不幸的是,这并没有奏效。我做错了什么?请提供帮助。SQL Server本机不支持Regex。它确实有模式匹配,但是,

目前对于学校,我需要对电话号码进行检查约束,这需要在SQL Server中完成

我需要检查此格式:

(xxx) xxx-xxxx
我还需要包括括号和空格

到目前为止,我试过:

SELECT PhoneNumber
FROM Sales.Customers
WHERE PhoneNumber LIKE '[(][0-9]{3}[)]\s[0-9]{3}[-][0-9]{4}'

但不幸的是,这并没有奏效。我做错了什么?请提供帮助。

SQL Server本机不支持Regex。它确实有模式匹配,但是,其功能与正则表达式的功能相差甚远

对于您所拥有的,您需要执行以下操作:

SELECT PhoneNumber
FROM Sales.Customers
WHERE PhoneNumber NOT LIKE '([0-9][0-9][0-9]) [0-9][0-9][0-9][-][0-9][0-9][0-9][0-9]';

编辑:OP现在已编辑为类似于(was
不类似于
)。不确定他们想要哪一个,因此我按照他们的原始版本作为
不喜欢

我相信OP可以删除Not,如果这是真正的意图+1感谢这解决了我的问题,感谢您的快速响应@拉奴,我想知道你喜欢什么。但在帖子里写错了。当我编辑它时,你已经回答了我的问题。我应该把它改回去以避免混淆吗?@ImFluffy不需要,不需要。就像约翰说的,任何读者都应该能把它弄清楚