如何在TSQL中使用正则表达式?

The*_*ght 10 regex sql t-sql sql-server email-validation

我需要一个正则表达式,以便我可以在数据库表中找到所有无效的电子邮件地址.

SELECT *
FROM dbo.[Users] AS u 
WHERE u.EmailAddress not like 'regular expression of valid email addresses'
Run Code Online (Sandbox Code Playgroud)

SQL Server是否支持正则表达式?如果是这样,我怎么能写一个电子邮件地址?

Dou*_*ain 13

T-SQL不支持正则表达式.但是,您可以创建一个能够添加此功能的.net CLR功能.

这可能有所帮助.
http://www.simple-talk.com/sql/t-sql-programming/clr-assembly-regex-functions-for-sql-server-by-example/

  • SQL 2012链接只是在谈论SSMS中的正则表达式 - 而不是SQL Server中内置的任何新内容.威廉,如果你不能安装程序集,你将无法使用正则表达式.您必须使用SQL Server的内部字符串函数尽可能地自己动手. (2认同)