在特定分隔符位置拆分字符串是数据操作任务中的常见要求。 Oracle SQL 中的 INSTR 和 SUBSTR 函数提供了一种实现此目的的简单方法。
在您的例子中,您希望在最远的分隔符处拆分字符串“F/P/O”,在本例中是最后一个正斜杠 (/)。您的原始 SQL 语句虽然大部分是正确的,但缺少 INSTR 函数中的关键 start_position 参数。
SELECT Substr('F/P/O', 1, Instr('F/P/O', '/') - 1) part1, Substr('F/P/O', Instr('F/P/O', '/') + 1) part2 FROM dual
通过在 INSTR 中指定负 start_position,我们可以从字符串末尾开始倒数。在您的情况下,使用 -1 将说明分隔符的最后一次出现。
SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1, SUBSTR(str, Instr(str, '/', -1, 1) +1) part2 FROM DATA
此修改后的查询将在最后一个正斜杠处正确分割字符串“F/P/O”,从而导致:
PART1 PART2 ----- ----- F/P O
以上是如何在 Oracle SQL 中最后一次出现分隔符时拆分字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!