将所有行中的值转换为VARBINARY(50)

Pic*_*ony 2 sql sql-server sql-server-2008

我想升级表中的所有列,我想要做的是从它将更新的行中检索一列,然后更新它,例如:

update works 
set encrpyted_item_no = (CAST(RTrim((
    select unencrypted_item_no 
    from works 
    where name = name
) AS VARBINARY(50))
Run Code Online (Sandbox Code Playgroud)

我知道查询是错误的,这只是一个向您展示我的目标的例子.

我希望它选择列unencrypted_item_no从它的行然后更新同一行与它从获取数据unencrypted_item_no,这样做对整个表.

我怎么做到这一点?

Bor*_*ort 5

您不需要进行子选择,引用集合中的其他列将逐行工作,即:

UPDATE works 
SET encrpyted_item_no = CAST(RTrim(unencrypted_item_no) AS varbinary(50))
Run Code Online (Sandbox Code Playgroud)