【发布时间】:2017-03-29 16:59:54
【问题描述】:
我正在寻找一种方法来检索字符串中最后一个“/”字符之后的 2 个数字。如果我想要的 2 个数字后面有什么,我不在乎。
我想出的代码是这样的:
CASE when INSTRUMENT like '%/%' then SUBSTR(INSTRUMENT,INSTR(INSTRUMENT,'/',-3,1)+1,2) else '0' end
这似乎工作正常。 问题是当它没有找到任何“/”字符时,它不会像我想要的那样用 0 填充它们。
举个例子说明我想做什么:
XXX/YYY/ZZZ/92 ---> Returns 92
XXX/YYY/ZZZ/42 (test) ---> Returns 42
XXX YYY ZZZ 10 ---> Returns 0
所有这些都必须在 select case 语句中“插入”,但这不应该改变解决方案。
提前致谢
【问题讨论】:
-
我不明白这一点。如果我运行您的查询,我得到的结果与您发布的所需结果完全相同;有什么问题?
标签: string oracle case text-extraction