gpt4 book ai didi

sql-server - TSQL 电子邮件验证(无正则表达式)

转载 作者:行者123 更新时间:2023-12-01 19:31:42 28 4
gpt4 key购买 nike

好吧,有一百万个正则表达式可用于验证电子邮件地址,但是可以将一些基本的电子邮件验证集成到 Sql Server 2005 的 TSQL 查询中吗?

我不想使用 CLR 过程或函数。只是直接的 TSQL。

有人已经解决这个问题了吗?

最佳答案

非常基本是:

SELECT
EmailAddress,
CASE WHEN EmailAddress LIKE '%_@_%_.__%'
AND EmailAddress NOT LIKE '%[any obviously invalid characters]%'
THEN 'Could be'
ELSE 'Nope'
END Validates
FROM
Table

这会匹配中间带有 @ 的所有内容,前面至少有一个字符,后跟至少两个字符、一个点和至少两个 TLD。

您可以编写更多 LIKE 模式来执行更具体的操作,但您永远无法匹配可能是电子邮件地址的所有内容,同时又不会漏掉不是电子邮件地址的内容。即使使用正则表达式,你也很难做到正确。此外,即使根据 RFC 的字母进行匹配,也会匹配大多数电子邮件系统不会接受/使用的地址结构。

无论如何,在数据库级别执行此操作可能是错误的方法,因此如上所述的基本健全性检查可能是性能方面最好的选择,并且在应用程序中执行此操作将为您提供更大的灵 active 。

关于sql-server - TSQL 电子邮件验证(无正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/229824/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com