我在视图上有一个textarea,它将输入保存在nvarchar(max)字段中.用户写了一个11位数字,这是他们不应该有的textarea敏感信息.我被要求用***********替换连续11个号码.
Sample Dataset
Id Details
1 Id: 03948518231
ddk asd
2 ed 99 93482019393 ex
3 ehhdg g#3 85291293841 ldd
Run Code Online (Sandbox Code Playgroud)
更新后的结果:
Id Details
1 Id: ***********
ddk asd
2 ed 99 *********** ex
3 ehhdg g#3 *********** ldd
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
更新InfoTable SET Details = DetailsWithout11ConsecutiveNumbers
你可以使用stuff
和patindex
.但请注意,它将取代首次出现的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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
84 次 |
最近记录: |