![](/img/trans.png)
[英]sql query to move values from second_names column to firstn_name column when first_name column is null
[英]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 列的表,“First_Name”、“Last_Name”、“Email”。 Email 列中的某些值包含串聯在一起的 First_Name 和 Last_Name 列值。 即,電子郵件 = 'JohnSmith22@example.com',其中 First_Name = 'John',Last_Name = 'Smith'。
某些行的其他電子郵件值不相關。 即名字 = 'Steven',姓氏 = 'Paul',電子郵件 = 'random12345@example2.com'。 什么查詢只會檢索 Email 列的值,其中 First_Name 和 Last_Name 在列中?
您可以使用like
來檢查email
是否以名字和姓氏的串聯開頭:
select t.*
from mytable t
where email like first_name + last_name + '%'
如果 name 字段具有異類字符大小寫,則需要將其轉換為lower 並檢查。 另一件事是有時電子郵件中名字和姓氏的順序可能不同,因此您也需要考慮這種情況。
SELECT *
FROM theTable
WHERE lower(email) LIKE '%' + lower(name) + '%' + LOWER(lastname) + '%'
OR lower(email) LIKE '%' + lower(lastname) + '%' + LOWER(name) + '%'
什么查詢只會檢索 Email 列的值,其中 First_Name 和 Last_Name 在列中?
如果您想要列中的名字和姓氏 - 但也需要其他字符 - 我建議:
where email like '%' + first_name + '%@%' and
email like '%' + last_name + '%@%'
這會檢查名字和姓氏是否在@
之前,以任何順序 - 以及任何其他字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.