例如,我有一个字符串“ TARGET CONSUMER CLAIM”,我想选择“ CLAIM”之前的所有字符串。我的输出应该是“ TARGET CONSUMER”。我尝试了regexp_substr,也用instr命令进行了strstr,但无法获得正确的答案
答案 0 :(得分:0)
使用正则表达式替换功能REGEXP_REPLACE
删除不需要的部分:
REGEXP_REPLACE(col1, ' CLAIM.*', '')
答案 1 :(得分:0)
您可以使用INSTR
查找字符串中mysqldump -h'my.address.amazonaws.com' -u'my_username' -p'password' db_name > /path/backupname.sql
的位置,然后使用SUBSTR
提取字符串中该位置之前的部分:
CLAIM
输出
SELECT SUBSTR('TARGET CONSUMER CLAIM', 1, INSTR('TARGET CONSUMER CLAIM', ' CLAIM') - 1) FROM dual
答案 2 :(得分:0)
您也可以使用REGEXP_INSTR:
select substr('TARGET CONSUMER CLAIM',1,REGEXP_INSTR('TARGET CONSUMER CLAIM', '(\s)+CLAIM')-1)
from dual;