gpt4 book ai didi

sql-server - 如何在 SQL Server 中用星号替换 nvarchar 字段中的所有 11 个连续数字

转载 作者:行者123 更新时间:2023-12-01 12:40:33 25 4
gpt4 key购买 nike

我在 View 上有一个文本区域,它将输入保存在 nvarchar(max) 字段中。用户在 textarea 上写了一个 11 位数字,这是他们不应该拥有的敏感信息。我被要求用 *********** 替换 11 个连续数字。

Sample Dataset

Id Details
1 Id: 03948518231
ddk asd
2 ed 99 93482019393 ex

3 ehhdg g#3 85291293841 ldd

更新后的结果:

Id    Details
1 Id: ***********
ddk asd
2 ed 99 *********** ex

3 ehhdg g#3 *********** ldd

像这样:

更新信息表 SET Details=DetailsWithout11ConsecutiveNumbers

最佳答案

您可以使用stuffpatindex。但请注意,它将替换第一次出现的 11 个连续数字

declare @InfoTable table (
Details varchar(40)
)

insert into @InfoTable
values ('Id: 03948518231 ')
, ('ed 99 93482019393 ex')
, ('ehhdg g#3 85291293841 ldd')

update @InfoTable
set Details = stuff(Details, patindex('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%', Details), 11, '***********')
where
patindex('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%', Details) > 0

select * from @InfoTable

关于sql-server - 如何在 SQL Server 中用星号替换 nvarchar 字段中的所有 11 个连续数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48822646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com