我有一个名为DN的数据库表列,其值是LDAP用户的专有名称,并且CN值带有逗号,例如:'CN=User,name
,OU = People,DC = domain,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=');