如何在PostgreSQL中验证有效的电子邮件地址?

时间:2017-11-21 07:01:09

标签: sql postgresql

我有一个包含电子邮件字段和30K记录的表格。 我发现许多用户输入了无效的电子邮件地址,例如: <,@@等......

PostgreSQL中是否有办法运行查询,显示所有无效的电子邮件地址?我知道如何用正则表达式

来做到这一点
[a-z,A-z,0-9,'.']*@[a-z,A-z,0-9]*.com 

[a-z,A-z,0-9,'.']*@[a-z,A-z,0-9]*.xx|xxx.xx代表.co.uk.org.it

等地址

如何在查询中完成此操作? 我只想获得所有无效地址的清单,以便我可以要求修复他们的记录。

1 个答案:

答案 0 :(得分:2)

您可以使用PostgreSQL的POSIX regexp functionality

在where子句中进行具有以下条件的查询(email是您的电子邮件列):

where email !~* '^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+[.][A-Za-z]+$'

或者正则表达式适用于你。