我希望在首次出现角色后删除所有内容' M'在VARCHAR字段中(包括)。
所以SELECT regexp_replace('The world Mine is mine')
应该产生:'The world '
这相当于
SELECT left('The world Mine is mine',INSTR('The world Mine is mine','M',1,1)-1)
但是,如何在没有left
和instr
的情况下实现这一目标?很高兴回复。
答案 0 :(得分:0)
您可以使用捕获组:
SELECT regexp_replace('The world Mine is mine', '(.*)(M.*)', '\1')
返回
regexp_replace
--------------
The world
正则表达式相当昂贵,使用left()
和instr()
最有可能更快。