如何获得字符串后的字符串oracle

问题描述:

我有VP3 - 艺术&设计和HS5 - 健康&社会关怀,我需要得到字符串后' - '在甲骨文。这可以通过使用子字符串来实现吗?如何获得字符串后的字符串oracle

感谢, 氩

对于字符串操作这么简单,我可能只是使用基础INSTR()SUBSTR()功能。在下面的查询中,我们从的两个位置开始,在连字符后面开始显示您的列的子字符串。

SELECT 
    SUBSTR(col, INSTR(col, '-') + 2) AS subject 
FROM yourTable 

我们也可以使用REGEXP_SUBSTR()这里(见戈登的答案),但是这将是一个有点复杂,性能可能不如上面的查询一样好。

+0

Thnaks很多添 –

您可以使用regexp_substr()

select regexp_substr(col, '[^-]+', 1, 2) 

如果你想删除一个可选的空间,那么你可以使用trim()

select trim(leading ' ', regexp_substr(col, '[^-]+', 1, 2))