SQL 电子邮件验证(无正则表达式)

2023-12-10

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

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

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


Very基本是:

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 的字母进行匹配,也会匹配大多数电子邮件系统不会接受/使用的地址结构。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 电子邮件验证(无正则表达式) 的相关文章

  • 使用 sql 查询选择最近 30 天

    我正在查找过去 30 天内周一 周二 周三 周四 周五 周六 周日的数量 我可以在没有实际数据库表的情况下选择最近 30 天的日期和星期几吗 就像是 SELECT everything between convert date GETDAT
  • SQL限制数据库中的最小值和最大值

    CREATE TABLE TBL CD CDnr int identity 1 1 CDTitel nvarchar 80 NOT NULL CDduur int CDprijs smallmoney 所以我正在创建这个表 有什么方法可以将
  • 使用 CASE 语句的多个条件

    我需要查询一些数据 这是我构建的查询 但对我来说效果不佳 在本示例中 我使用 AdventureWorks 数据库 SELECT FROM Purchasing Vendor WHERE PurchasingWebServiceURL LI
  • 在 T-SQL 中获取 2 位数年份

    我需要获取当前的两位数年份并加一 所以我当前要查找的数字应该是 11 怎么样 你可以做 YEAR GETDATE 100 1 See GETDATE http msdn microsoft com en us library ms18838
  • 将包含数字的列的类型从 varchar 更改为 int

    数据库中有两列 当前类型为 varchar 16 事实是 它包含数字并且永远包含数字 因此我们想将其类型更改为整数 但问题是它当然已经包含数据了 有什么方法可以将该列的类型从 varchar 更改为 int 并且不会丢失其中已有的所有数字
  • 声明日期,然后添加下一个工作日

    我没有得到我需要的结果 我想做的就是声明我的日期 然后添加下一个工作日 IE CASHDATE 1 这有效 但我需要下一个工作日是 5 号 DECLARE CASHDATE DATETIME SET CASHDATE 2016 12 02
  • 如何使用 SQL 语法更改主键约束?

    我有一个表 其主键约束中缺少一列 我不想通过 SQL Server 对其进行编辑 而是想将其放入脚本中以将其添加为更新脚本的一部分 我可以使用什么语法来执行此操作 我必须删除并重新创建关键约束吗 是的 唯一的方法是使用 Alter 表删除约
  • 测试 ODBC 连接的有效方法

    我们的产品是一个 TCP 监听事务处理器 传入连接被分配一个线程来处理连接和一个数据库连接来使用 我们维护一个数据库连接池 而不是为每个传入的客户端连接建立新的数据库连接的昂贵方法 数据库连接池相当可配置 最小 最大大小 增长率等 一些细节
  • 如何处理 FOR XML PATH/AUTO 中的空白值 - SQL Server?

    有没有人对这种 SQL Server 行为有任何见解或遇到过 当空白值转换为数据类型时 char 或具有 的列char 作为数据类型 处理使用For XML PATH 它返回 XML 结果 20 空格的特殊字符编码 当相同的空白值转换为va
  • 如何在SQL Server数据库的所有表的所有列中搜索特定字符串?

    我们想要在拥有大约 120 个表的所有数据库中搜索一个字符串 即 Hello World 我们考虑过像 mysql dump 一样进行转储 但它以奇怪的 bak 格式出现 应在每个表的每一列中进行搜索 任何类型的脚本都可以做到这一点 或者这
  • 使用非管理员帐户时,SQL Linked Server 返回错误“不存在登录映射”

    我有一个本地 SQL Server 2008R2 我已将链接服务器配置为远程数据库 当我使用 SQL 登录帐户登录本地服务器时 链接服务器工作得很好sysadmin服务器角色 我可以查询远程服务器 因此我知道链接服务器设置是正确的 但是 如
  • SQL查询多个数据库

    我需要运行一个SELECT在 SQL Server 上查询并返回从同一服务器上的多个数据库中提取的信息 我有以下内容 可以工作 SELECT Name Nationality FROM dbtest dbo Staff WHERE Nati
  • 将多对多关系中的所有相关记录分组,SQL 图形连接组件

    希望我错过了一个简单的解决方案 我有两张桌子 其中包含一份公司列表 第二个包含出版商列表 两者之间的映射是多对多的 我想要做的是将表 A 中与表 B 中的发布商有任何关系的所有公司捆绑或分组 反之亦然 最终结果看起来像这样 GROUPID
  • SQL Server 上的聚合(分组依据)如何工作?

    SQL Server如何实现group by子句 聚合 以执行计划作为灵感这个问题的 https stackoverflow com questions 1465827 select at onece query select p id D
  • 从 MySql 迁移到 Sql Server 2008

    我有大约 200 GB 的 Mysql 转储文件 现在我需要迁移到 Sql server 2008 那么我应该遵循什么方法 我应该继续逐行 sql 语句还是有任何适合我的要求的 GUI 工具 微软 SQL Server 迁移 Assista
  • varchar 值的转换溢出了 int 列

    对于某些值 nReservationID SELECT phoneNumber CASE WHEN ISNULL rdg2 nPhoneNumber 0 0 THEN ISNULL rdg2 nMobileNumber 0 ELSE ISN
  • 一张 400GB 表,一个查询 - 需要调优思路 (SQL2005)

    我有一个大表 我想对其进行优化 我正在使用 MS SQL 2005 服务器 我将尝试描述它的使用方式 如果有人有任何建议 我将非常感激 该表约400GB 有1亿行 每天插入100万行 该表有 8 列 1 列数据和 7 列用于查找 排序 k1
  • 为什么为 DATETIME 值定义加法运算符而不为 DATE 定义?

    我知道解决方法是使用DATEADD对于这两种数据类型 我想了解为什么语言设计者选择为一种数据类型而不是另一种数据类型定义此运算符 当您尝试直接在DATE DECLARE tomorrow DATE CONVERT DATE GETDATE
  • 检索存储过程的先前版本

    我今天修改了一个存储过程 但之后我意识到它是错误的 所以我想把它恢复回来 有什么方法可以获取之前修改的存储过程或最后日期的存储过程 我也没有任何备份 谢谢 不直接在 SQL Server 中 除非您在源代码管理或其他地方保留了脚本 否则您唯
  • UTC 日期时间偏移量

    我需要从 Axapta 表获取时间戳TSQL 每次没有时区和 或日光偏差偏移 例如来自表JMGABSENCECALENDAR Taking this https stackoverflow com questions 1205612 axa

随机推荐

  • 如何对数据库模式进行版本控制? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 您如何准备 SQL 增量 您是否手动将每个模式更改 SQL 保存到增量文件夹中 或者您是否有某种自动比较过程 我对版本控制数据库模式以及源代码的约定感兴趣 也许是一个区分模式的预提交挂钩
  • 从字符串中提取所有数字

    假设我有一个字符串 例如123ad456 我想创建一种将数字组分成一个列表的方法 这样输出将类似于123 456 我试过做return Regex Match str d Value 但只输出第一次出现的数字 因此输出将是123 我也知道我
  • POI Excel:获取样式名称

    我想读取应用于 xlsx 文档中单元格的样式的名称 我已经提取了该文件 在 xl styles xml 中我可以找到样式名称
  • 实体框架多对多关系

    好吧 我正在尝试弄清楚如何正确设置我的数据库 我有两节课 public class Event public int EventId get set public string EventName get set and public cl
  • Java 原始类型和泛型交互

    如果我有一个 Stack 类 class Stack
  • 如何使用另一个类中的 Tcpclient 将数据发送到所有已连接的套接字连接

    Closed 这个问题需要细节或清晰度 目前不接受答案 public void send string msg a2 Encoding ASCII GetBytes msg networkStream clientSocket GetStr
  • R 将特定行和列乘以常数

    我有以下数据 type lt c 1 4 year1 lt c 1 4 year2 lt c 1 4 year3 lt c 1 4 data lt data frame type year1 year2 year3 我想将年份列中的底部两行
  • 的 Html 帮助器

    有没有HTMLHelper用于文件上传 具体来说 我正在寻找替代品
  • 如何通过 R 在 Outlook 正文中显示 Excel 工作表

    我可以通过 RDCOMClient 包将 Excel 文件附加到 Outlook 中 但是如何通过R在邮件正文中显示excel工作表内容 假设工作表中包含一个表格和一个图形 library RDCOMClient init com api
  • 为什么像 3.14 这样的浮点值在 MSVC 中默认被视为 double ?

    为什么我需要输入 3 14f 而不是 3 14 来禁用所有这些警告 这有一个连贯的理由吗 这就是 C 和 C 标准所决定的 浮点文字的类型为 double 如果您需要它们是浮点型 则可以在它们后面加上后缀f 似乎没有任何具体说明原因 但我猜
  • Silverlight 是否缓存 Web 服务调用?

    这是问题所在 我的 Silverlight 应用程序正在使用 WebClient 调用名为 getCampaigns 的 HTTP Web 服务 该服务返回 Campaign 对象的 JSON 数据数组 然后 用户可以与请求的对象进行交互
  • 如何解决“您的应用似乎未启用适用于 Android 的 Places API”

    这个错误已经困扰我一天多了 我已经彻底搜索过 但没有一个答案为我提供解决方案 我已经正确设置了 API 密钥 并提供了应用程序限制 提供了包名称和 SHA1 密钥 这是代码 清单文件
  • 如何使用一个或多个 StructType 创建架构 (StructType)?

    我正在尝试创建一个StructType在另一个里面StructType 但它只允许添加一个StructField 我找不到任何添加方法StructType to it 如何创建StructType下面的字符串表示的模式 struct
  • 如何使用 Cargo maven 插件远程部署 WAR 到 JBoss 5.1.0.GA?

    我正在尝试使用 Cargo maven 插件将 WAR 文件远程部署到 JBoss 5 0 1 GA 但似乎不能 我发现了类似的线程 但它们最终都没有帮助我解决我的问题 我遵循这些指示 一些看起来很重要的点是 从 CARGO 1 0 3 开
  • 如何使用powershell按年龄对数据进行排序

    尝试在 powershell 中按年龄对 txt 文件进行排序 数据如下所示 史密斯 约翰 65沃克 卢克 25马诺 吉尔 88 岁 试图让它看起来像这样 马诺 吉尔 88史密斯 约翰 65沃克 卢克 25 我尝试过 Format Tabl
  • 更改 Plotly 动画中的“框架”标签

    TLDR 我想用三个字母缩写而不是每个月的数字来标记框架滑块 我创建了一个条形图 显示 40 年来每个月的平均积雪深度 我从 NOAA 提取数据 然后使用 lubridate 按年份和月份进行分组 这是代码 snow depth lt go
  • 如何在 Azure VM 上同时运行 2 个 VM 自定义脚本扩展

    我已使用 ARM 模板创建了一个 Azure VM 并希望在部署 VM 后在同一 VM 上运行 2 个 VM 脚本扩展 使用ARM模板如何实现 apiVersion variables resourceDeploymentApiVersio
  • Msys2:维护两个 python 安装

    我在 Win 10 下使用 Msys2 便携式 我有 2 个 python 3 8 安装 最初的问题是问是否如此 我现在确定了 所以暂时我想处理他们的维护工作 我还发布了另一个相关问题Msys2 两个 python 安装中的 readlin
  • Firebase - 阻止用户身份验证

    如果在以下位置找不到用户的电子邮件 我需要阻止用户身份验证allowedUsers 它并不真正影响应用程序 因为所有操作都将在users列表 但如果没有进行身份验证 那就太好了 loginWithGoogle const userDetai
  • SQL 电子邮件验证(无正则表达式)

    好的 有一百万个正则表达式用于验证电子邮件地址 但是一些可以集成到 Sql Server 2005 的 TSQL 查询中的基本电子邮件验证怎么样 我不想使用 CLR 过程或函数 只是直接的 TSQL 有人已经解决这个问题了吗 Very基本是