我正在使用Oracle 11G,需要帮助才能在字符串关键字后直接获取字符串。在这种情况下,我有一个名为STRING_HELP的表,其中包含一个名为STRING_NAME的列,其中包含以下行:
STRING_NAME '请帮帮我'; “请你帮助我,我会很感激的”,
所以我只想从这两行得到'Please'和'I'字符串,因为这就是两行中直接跟'我'的字符。
我一直在尝试使用REGEXP_SUBSTRING,REGEXP_REPLACE进行实验,但是在单词me之后我无法直接获取字符串。我想要两个不同的答案。如果我知道所有内容都是以空格分隔的,如何直接获取字符串?非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
您可以使用SUBSTR
,INSTR
和COALESCE
,但可能有更好的解决方案:
SELECT COALESCE( SUBSTR(str, 0, INSTR(str, ' ')) , str) newStr
FROM (
SELECT LTrim(Substr(STRING_NAME,INSTR(STRING_NAME,'me')+LENGTH('me'))) str
FROM STRING_HELP
) t;
祝你好运。
答案 1 :(得分:0)
您可以使用:
select regexp_replace(STRING_NAME, '^.*? me ','') from STRING_HELP