簡體   English   中英

使用子查詢更新列

[英]UPDATE a column with a subquery

我有一個帶有電子郵件地址和用戶名列的用戶表(tbUser),並且我試圖擺脫用戶名列中的任何電子郵件地址。 下面的查詢查找該用戶在用戶名中使用了“ @”的所有記錄,而我想將所有內容都保留在“ @”的左側-這足以讓我弄清楚它是否是電子郵件地址“ don”是否實際上是電子郵件地址,不必太嚴格。

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 '%@%')

如果SELECT恰好返回了您想要的內容,則您應該能夠像下面這樣更新表:

UPDATE tbUser
SET username = LEFT(username, CHARINDEX('@', username) - 1)
WHERE username LIKE '%@%'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM