比较 sql 服务器中相同 table 的列

Compare columns of same table in sql server

我正在尝试比较 table 的列并获取不匹配的 rows.Can 有人帮我写了一个查询来获取 Email_ID 不符合格式的行Firstname.Lastname@abc.com 在下面的场景中。

TABLE

S.no  Firstname  Lastname   Email_ID
701    Sean           Paul        Sean.Paul@abc.com
702    Mike           Tyson        Mike.Samuel@abc.com
703   Richard   Bernard      Jim.Anderson@abc.com
704    Simon   Sharma       Rita.sharma@abc.com

你的意思是这样的:

select -- some columns
from table
where Email_ID <> (FirstName + '.' + Lastname + '@abc.com')

?

SQL 中没有任何内容可以防止将一列与另一列进行比较,并且 – 使用更多语法 – 甚至可以跨行进行比较。

搜索邮件地址与 Concat( firstname . lastname @) 不同的行

select * from tablename
where Email_ID NOT LIKE (Firstname + '.' + Lastname + '@%')
SELECT *
FROM YourTable
WHERE CHARINDEX(FirstName + '.' + LastName + '@', Email) = 0