Oracle-在特定字符串之前选择一个字符串

时间:2020-01-27 06:06:42

标签: sql oracle

例如,我有一个字符串“ TARGET CONSUMER CLAIM”,我想选择“ CLAIM”之前的所有字符串。我的输出应该是“ TARGET CONSUMER”。我尝试了regexp_substr,也用instr命令进行了strstr,但无法获得正确的答案

3 个答案:

答案 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;
相关问题