什么 T-SQL 查询会检索 Email 列的所有值,其中 First_Name 和 Last_ Name 列的值在 Email 列中?
What T-SQL query would retrieve all values of the Email column where values of First_Name and Last_ Name columns are in the Email column?
有一个包含 3 列的 table,'First_Name'、'Last_Name'、'Email'。电子邮件列中的某些值包含连接在一起的 First_Name 和 Last_Name 列值。即,电子邮件 = 'JohnSmith22@example.com' 其中 First_Name = 'John'、Last_Name = 'Smith'.
某些行的其他电子邮件值不相关。即 First_Name = 'Steven',Last_Name = 'Paul',电子邮件 = 'random12345@example2.com'。什么查询将只检索 Email 列的值,其中 First_Name 和 Last_Name 在该列中?
您可以使用 like
:
检查 email
是否以名字和姓氏的串联开头
select t.*
from mytable t
where email like first_name + last_name + '%'
如果名称字段有异构字符大小写,您需要将其转换为小写并检查。另一件事是有时电子邮件中名字和姓氏的顺序可能不同,因此您也需要考虑这种情况。
SELECT *
FROM theTable
WHERE lower(email) LIKE '%' + lower(name) + '%' + LOWER(lastname) + '%'
OR lower(email) LIKE '%' + lower(lastname) + '%' + LOWER(name) + '%'
What query would retrieve only values of Email column, where First_Name and Last_Name are in the column?
如果您希望列中包含名字和姓氏——但也包含其他字符——我建议:
where email like '%' + first_name + '%@%' and
email like '%' + last_name + '%@%'
这会检查名字和姓氏是否在 @
之前,以任何顺序 -- 以及任何其他字符。
有一个包含 3 列的 table,'First_Name'、'Last_Name'、'Email'。电子邮件列中的某些值包含连接在一起的 First_Name 和 Last_Name 列值。即,电子邮件 = 'JohnSmith22@example.com' 其中 First_Name = 'John'、Last_Name = 'Smith'.
某些行的其他电子邮件值不相关。即 First_Name = 'Steven',Last_Name = 'Paul',电子邮件 = 'random12345@example2.com'。什么查询将只检索 Email 列的值,其中 First_Name 和 Last_Name 在该列中?
您可以使用 like
:
email
是否以名字和姓氏的串联开头
select t.*
from mytable t
where email like first_name + last_name + '%'
如果名称字段有异构字符大小写,您需要将其转换为小写并检查。另一件事是有时电子邮件中名字和姓氏的顺序可能不同,因此您也需要考虑这种情况。
SELECT *
FROM theTable
WHERE lower(email) LIKE '%' + lower(name) + '%' + LOWER(lastname) + '%'
OR lower(email) LIKE '%' + lower(lastname) + '%' + LOWER(name) + '%'
What query would retrieve only values of Email column, where First_Name and Last_Name are in the column?
如果您希望列中包含名字和姓氏——但也包含其他字符——我建议:
where email like '%' + first_name + '%@%' and
email like '%' + last_name + '%@%'
这会检查名字和姓氏是否在 @
之前,以任何顺序 -- 以及任何其他字符。