我正在我的数据库表中创建一个新列,该列已经有500k条用户记录,这个新列值应该是a或B,或者,假设我的表中有5个用户:
用户 | |
---|---|
用户1 | Null |
用户2 | Null |
用户3 | Null |
用户4 | Null |
用户5 | Null |
您可以使用CTE更新New Column
值,如下所示:
WITH CTE AS
(
SELECT *,
CASE
WHEN ROW_NUMBER() OVER (ORDER BY [User]) % 2 = 1
THEN 'B'
ELSE 'A'
END AS AB_Value
FROM table_name
)
UPDATE CTE SET NewColumn = AB_Value;
请参阅SQL Server上的演示。