如何在SQL中用相同长度的随机数据替换重复数据

时间:2019-08-16 08:57:50

标签: sql sql-server sql-server-2014

我正在尝试使用相同长度的随机字母数字数据替换重复的字母数字数据。

列中的当前数据:

LY00CMY297
7Q7GC4J170
7Q7GC4J170(Duplicate Record)
7Q7GC4J170(Duplicate Record)
2MQ493J561
2MQ493J648

预期结果:

LY00CMY297
7Q7GC4J170
  ***(Need random alphanumeric data of length 10)
  ***(Need random alphanumeric data of length 10)
2MQ493J561
2MQ493J648

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:5)

您可以尝试以下方法:

;with cte as (
select *,ROW_NUMBER() over (partition by ColumnName order by ColumnName) rn,right(convert(varchar(36), newid()),10) as New from TableName
) 

update cte set ColumnName=New 
where rn>1;

NewID()函数将始终创建唯一ID。