使用 Oracle SQL 按分隔符位置分割字符串
与另一篇文章类似,要求是按照最远出现的位置来分割字符串分隔符。这里的关键区别是分隔符并不总是第一个实例,而是最远的。
要实现此目的,可以使用 SUBSTR 和 INSTR 函数。 Instr(str, '/', -1, 1) 定位到最远分隔符的位置,而-1表示从字符串末尾开始向开头查找。
但是出现错误由于 INSTR 函数中缺少 start_position,因此提供了示例。通过添加 start_position = -1,INSTR 函数成功找到最远的分隔符并相应地拆分字符串。
以下是修改后的代码:
WITH DATA AS ( SELECT 'F/P/O' str FROM dual ) SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1, SUBSTR(str, Instr(str, '/', -1, 1) +1) part2 FROM DATA
此更改可确保代码准确拆分所需分隔符位置处的字符串,从而为给定字符串正确输出“F/P”和“O” “F/P/O”。
以上是如何在 Oracle SQL 中分隔符出现最远的地方拆分字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!