示例(总是选择ELSE):
SELECT regexp_replace('ABCDEFG','(C)(D)', CASE WHEN '\1' = 'C' THEN '+\2\1+' ELSE '-\1\2-' END);
**returns =>** AB-CD-EFG
SELECT regexp_replace('ABCDEFG','(C)(D)', CASE '\1' WHEN 'C' THEN '+\2\1+' ELSE '-\1\2-' END);
**returns =>** AB-CD-EFG
有没有办法使这项工作成功?
答案 0 :(得分:1)
不应该。
我也将regexp_match
与C之前和D之后的组一起使用,然后使用CASE和串联从匹配的部分构造结果。