在特定分隔符號位置拆分字串是資料操作任務中的常見要求。 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中文網其他相關文章!