我想将 'Shri_' 添加到客户表的 First_name 中,仅适用于开头没有 'Mr_' 的名称。客户表数据如下所示:
我正在使用下面的脚本,但它没有帮助。
update customers set first_name = REGEXP_REPLACE(first_name,'^(?!Mr_)(.*)', 'Shri_\2',1,1);
Run Code Online (Sandbox Code Playgroud)
谁能指出我的正则表达式有什么问题。更具体地说,我正在尝试为这种情况找出正确的正则表达式。
正则表达式相当复杂;您可以通过以下方式更简单地解决此问题:
UPDATE customers
SET first_name = 'Shri_' || first_name
WHERE first_name NOT LIKE 'Mr\_%' ESCAPE '\'
Run Code Online (Sandbox Code Playgroud)
我怀疑问题是 _ 是一个通配符,但它可以像上面一样转义,所以它不再意味着“任何单个字符”而只是“下划线”