【发布时间】:2018-09-23 17:53:07
【问题描述】:
我必须准备测试数据以发送给第 3 方,但我不希望发送客户的真实姓名,也不希望发送他们的真实出生日期。
我可以通过将 DOB 随机增加几年来解决 DOB 问题。但是名称不同,是否有一个包含 10 个客户名称的列表,并且每次只需选择不同的名字和姓氏。
但我希望混合和匹配名称,因此它基本上随机选择 1 个名字,然后随机选择一个姓氏并将它们放在同一行。
SELECT TOP 1 opde.first_name
FROM Table AS opde
ORDER BY NEWID()
这每次都会返回一个随机的名字,但如果我将姓氏列放入其中也会返回匹配的姓氏,我不希望我想要列表中的随机姓氏。
我尝试通过UNION 执行此操作,但您无法在UNION 中执行ORDER BY NEWID()。
干杯。
【问题讨论】:
-
只需从您导出的数据中删除名称列。为什么第三者仍然需要它?客户 ID 或散列客户 ID 就足够了。
-
对我来说,只是拼真名不好。它仍然会泄漏有关您拥有的客户的一些信息。就像随机改变出生日期的一个组成部分一样,等等。想想罕见的名字/姓氏:泄露其中一个几乎可以确定某人的身份,然后你也会透露那个人的出生日期和月份!
-
@GordonLinoff - 我想这更有意义,我可以在其中放置一个占位符,也许只是在每行增加一个数字的姓氏。 JohnSmith1、John Smith2 等
-
@GordonLinoff - 另外,我可以创建一个卡通人物姓名表,并在下面使用 Tim 的查询吗?
-
您可以使用 newid() 对姓氏进行交叉申请
标签: sql-server tsql