我在 mySQL 中有一个表,其中有一个包含各种文本的文本字段,该文本中包含这种格式的社会安全号码 SS# 111-22-3333 表中大约有 40,000 条记录。我希望能够搜索该字段并从该字段中删除社会安全号码,而使其余文本保持不变。我已经搜索过,但没有找到如何执行此操作的示例。
最佳答案
让我假设社会安全号码以“SS#”开头。我认为你可以用这个做你想做的事:
update t
set text = insert(text, instr(text, 'SS#'), 15, '')
where field regexp 'SS#[0-9]0-9][0-9]-[0-9]0-9]-[0-9]0-9][0-9]';
也就是说,查找包含社会安全号码的行。然后找到模式的开头并将接下来的 15 个字符替换为空。
关于mysql - 在文本字段中搜索和替换以删除部分字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17155998/