我试图验证电子邮件在SQL中使用RegEX实现以下标准。
创建一个查询(使用运算符LIKE),搜索包含以下内容的所有电子邮件地址:
1.只有一个符号“@”
1.至少有一个符号“.”
1.如果只有一个“.”符号,则应该在符号“@”之后(而不是之前)
1.至少6个字符
1.符号“.”和“@”不能相邻
1.符号“.”或“@”不得出现在地址的开头或结尾。此外,电子邮件地址不得包含以下符号:“=”、“_”、“-”、“+”、“&”、“<”、“>”或“,”。
我试着写了一个查询,我已经考虑了上述所有问题,除了至少6个字符的条件。我得到的结果,但他们都得到显示为无效,我不知道为什么。
下面是我写的查询:
SELECT EmailAddress
CASE WHEN EmailAddress Like '%^[A-Za-z0-9._%\-+!#$&/=?^|~]+@[A-Za-z0-9.-]+[.][A-Za-z]+$%' THEN 'Valid'
ELSE 'INVALID' END
AS valid_email
FROM Database
Where EmailAddress is not null
字符串
1条答案
按热度按时间jm81lzqq1#
标准
LIKE
不处理正则表达式。我不建议使用以下代码,但它满足您的标准:
字符串
备注:
=
、_
、-
、+
和&
在局部部分完全有效-
在域部分有效<
、>
和,
在本地部分中有效Database
是因为您使用了,但您可能指的是Database.Table