字符串中的随机整数,用于在 SQL 中"mask"电话号码



我只想用随机数字替换字符串中的电话号码。请记住,替换的值必须与原始值具有相同的长度。

这是我的输出:

0495720942
PhoneNumber使用以下脚本后编辑 所需输出
00000031 20538746 22581610
41240312 86387520 86387520
02022222 29450805 04543572
3333333333 4522660402 3485068402
33232000636 4524270646
32222332 31122001 0347480
ID er和谷仓21468018 ID er和马厩55113153 ID er和谷仓30394021

以下语法为您提供一个n位随机数

SELECT ABS(CHECKSUM(NewId())) %1000  --Three-digit number
SELECT ABS(CHECKSUM(NewId())) %10000  --four-digit number 
SELECT ABS(CHECKSUM(NewId())) %100000  --five-digit number 
SELECT ABS(CHECKSUM(NewId())) %10....00  --n-digit number 
---n----

要获得结果,您应该更改获取电话号码的长度并使用电源功能,然后按以下更改查询

SELECT 
Abs(
Checksum(
Newid()
)
) % Power(---create a Multiplication of 10
10, 
(
Len([PhoneNumber])---get length of string
)
) as PhoneNumber ,* 
from 
dbo.PhoneNumbers

最新更新