mysql - 在文本字段中搜索和替换以删除部分字段

标签 mysql

我在 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/

相关文章:

php - 保存在数据库中的 mysql 链接打开附加到原始 url

mysql - R MYSQL写表删除某些列

php - Codeigniter $this->db->where() 不工作

php - 从 mysql 查询创建数组。 Column2 作为键 Column 1 作为值

php - 运行 PHP 脚本时显示加载符号

php - 如何结合我约会的逻辑

mysql - org.hibernate.exception.GenericJDBCException : could not insert

php - PHP 的 SQL 插入问题

mysql - Now() 上的 Convert_tz 返回错误

mysql - 透视 SQL 数据 - 将行分组为列