use*_*945 2 t-sql sql-server-2008
为了满足安全性要求,在将所述数据库提供给开发人员之前,我需要找到一种方法用唯一的,随机的9位数字替换SSN。SSN在数据库表的列中。所述表中可能有成千上万的行。该数字不需要连字符。我是SQL和程序设计的初学者。
我一直无法找到满足我特定需求的解决方案。似乎没有什么是正确的。但是,如果您知道我错过的话题,请告诉我。
谢谢你的帮助!
这是一种方法。
我假设您已经有真实数据的备份,因为此更新不可逆。
在下面,我假设您的表名是Person,并且您的ssn列名为SSN。
UPDATE Person SET
SSN = CAST(LEFT(CAST(ABS(CAST(CAST(NEWID() as BINARY(10)) as int)) as varchar(max)) + '00000000',9) as int)
Run Code Online (Sandbox Code Playgroud)