【问题标题】:How to use regular expression in TSQL?如何在 SQL 中使用正则表达式?
【发布时间】:2012-01-15 01:00:06
【问题描述】:

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

SELECT *
FROM dbo.[Users] AS u 
WHERE u.EmailAddress not like 'regular expression of valid email addresses'

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

【问题讨论】:

标签: sql sql-server regex tsql email-validation


【解决方案1】:

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

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

【讨论】:

  • 谢谢,但我们这里有很多限制,我们无法将程序集安装到 sql server 引擎中。
  • 你让我在那里呆了一分钟,但阅读链接看起来只适用于管理工作室中的查找/替换对话框,而不是作为查询的一部分:(
  • 不幸的是,给出的主题是关于 SQL Server MS 而不是 SQL Server 引擎本身
  • RegEx 支持似乎与 SSMS 相关,而不是与 TSQL 相关
  • SQL 2012 链接只是在讨论 SSMS 中的正则表达式——而不是 SQL Server 中内置的任何新内容。威廉,如果您无法安装程序集,您将无法使用正则表达式。您必须使用 SQL Server 的内部字符串函数尽可能地自行开发。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-24
  • 2012-02-14
  • 2022-01-17
  • 2020-09-14
相关资源
最近更新 更多