lar*_*ryq 4 sql-server random scramble
我们有一个网络应用程序,我们想向潜在客户演示,但我们最好的方法是使用现有数据,以获得完整的体验.当然,我们不希望在应用程序中看到实际的客户名称或地址等.在SQL Server中有一种简单的方法可以随机化或加扰varchar或文本字段吗?
无论如何,这些列都不是主键或外键.
这是一个迟到的答案,但我对此问题的任何互联网搜索都不满意.这是一个示例,它将洗牌客户表中的名字和姓氏以创建新名称:
--Replace Customers with your table name
select * from Customers
--Be sure int match your id column datatype
Declare @id int
--Add a WHERE here to select just a subset of your table
DECLARE mycursor CURSOR FOR SELECT id FROM Customers
OPEN mycursor
FETCH NEXT FROM mycursor INTO @id;
WHILE (@@FETCH_STATUS = 0)
BEGIN
--We loop
--Warning: NEWID() is generated once per query, so we update the fullname in two queries.
UPDATE Customers
SET FirstName = (SELECT TOP 1 FirstName FROM Customers ORDER BY NEWID())
WHERE id = @id
UPDATE Customers
SET LastName = (SELECT TOP 1 LastName FROM Customers ORDER BY NEWID())
WHERE id = @id
FETCH NEXT FROM mycursor INTO @id;
END
CLOSE mycursor;
DEALLOCATE mycursor;
select * from Customers
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13880 次 |
| 最近记录: |