使用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中文網其他相關文章!