mysql - 使用正则表达式使用 mysql 使用转义字符更新列值

标签 mysql regex

我有一个名为 DN 的数据库表列,其值是 LDAP 用户的可分辨名称,并且 CN 值带有逗号,例如:'CN=User,name,OU=People,DC =域,DC=com'。

对于 CN,某些值也可以不带逗号,例如 'CN=UserName,OU=People,DC=domain,DC=com'。我想仅为作为 CN 名称一部分的逗号添加转义字符 '\',但不为 OU 和 DC 字符之前的逗号添加转义字符 '\'。我尝试使用以下 3 条语句添加转义字符。

UPDATE LOGININFO SET DN = REPLACE(DN, ',', '\\,');  

UPDATE LOGININFO SET DN = REPLACE(DN, '\\,OU=', '\,OU=');

UPDATE LOGININFO SET DN = REPLACE(DN, '\\,DC=', '\,DC=');    

寻找一条 mysql 更新语句,将 'CN=User,name,OU=People,DC=domain,DC=com' 替换为 'CN=User\,name,OU=People,DC=domain,DC =com'

最佳答案

您似乎想要嵌套替换。这符合你的要求吗?

UPDATE LOGININFO
    SET DN = REPLACE(REPLACE(REPLACE(DN, ',', '\\,'), '\\,OU=', '\,OU='), '\\,DC=', '\,DC=');  

关于mysql - 使用正则表达式使用 mysql 使用转义字符更新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41964013/

相关文章:

mysql - 在 MySQL 中使用非标准日期时间格式

mysql - 如何从mysql中的过程中获取输出值

java - 如何提取包含某个单词的每个句子

sql - 使用 PostgreSQL 选择层次结构的某些级别

javascript - 为什么这个 @mention 正则表达式不起作用?

java - 如何将一个字符串数组拆分为多个字符串?

php - 在新的聊天消息上弹出聊天框

php - 使用php将图片插入数据库

mysql - mysql排序后生成唯一的列值

ColdFusion 8 中西类牙语字母的正则表达式