首頁 > 資料庫 > mysql教程 > 如何在 Oracle SQL 中分隔符號出現最遠的地方拆分字串?

如何在 Oracle SQL 中分隔符號出現最遠的地方拆分字串?

Barbara Streisand
發布: 2025-01-05 10:51:38
原創
805 人瀏覽過

How Can I Split a String in Oracle SQL at the Furthest Occurrence of a Delimiter?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板