快速提问,我有一个表格,其列是一组行的标识符。例如,一组记录客户交易的行,其中每一行都有客户参考。
我想要实现的是为该组行提供一个新的唯一标识符,因此我可以匿名报告。
我尝试了什么
UPDATE dbo.[t_Health]
set Code = 'ABC' + Cast(RAND() as varchar(50))
where si.CustRef= si.CustRef
非常感谢!
答案 0 :(得分:3)
您可以使用任何一个Hashing函数。
示例强>
UPDATE dbo.[t_Health]
SET Code = hashbytes('SH2_512', CAST(CustRef AS VARCHAR(16))
答案 1 :(得分:2)
要创建新的唯一标识符,请使用NEWID()
函数
with anonymousId as (
select distinct CustRef,
newid() as newId
from t_health)
update dbo.t_health
set code = ai.newId
from dbo.t_health h join anonymousId ai on h.custref = ai.custref