【发布时间】:2014-12-20 22:20:54
【问题描述】:
我有一个包含电子邮件地址和用户名列的用户表 (tbUser),我正在尝试删除用户名列中的任何电子邮件地址。下面的查询查找该人在其用户名中使用“@”的所有记录,我只想将所有内容都放在“@”的左侧——这足以让我确定它是否是电子邮件地址。不管它是否真的是一个电子邮件地址,都不需要太严格。
SELECT LEFT(username, CHARINDEX('@', username) - 1) AS Expr1
FROM tbUser
WHERE (username LIKE '%@%')
现在我想更新所有用户名,以便它只是“@”左侧的文本,但不知道该怎么做。类似于下面的查询,但不太正确。
UPDATE tbUser
SET username = (SELECT LEFT(username, CHARINDEX('@', username) - 1) AS Expr1
FROM tbUser AS tbUser_1)
WHERE (username LIKE '%@%')
【问题讨论】:
标签: sql sql-server