Sql server中的电子邮件地址验证问题

时间:2014-03-07 07:02:37

标签: sql sql-server sql-server-2012

我使用以下查询

SELECT * 
FROM people 
WHERE email NOT LIKE '%_@__%.__%'

link引用以验证电子邮件地址。

除了email由于空格而无效之外,查询在所有方案中都正常工作。 例如,对于以下无效的email地址值,查询失败。   @。

我们可以使用Like语句找到包含空格的列吗?

2 个答案:

答案 0 :(得分:0)

电子邮件验证充其量只是一种毛茸茸的运动。至少,我会用{3}用第3种语言书写验证。正如您的stored procedure注释:

  

几乎不可能在代码中验证电子邮件地址。

答案 1 :(得分:0)

您可以使用LEN()功能和Replace()功能:

Select
  Id,
  Email
From
  MyTable
Where
  LEN(Email) <> LEN(REPLACE(Email,' ', ''))

请参阅SqlFiddle here