Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memisahkan Rentetan dalam Oracle SQL pada Kejadian Terjauh Pembatas?

Bagaimanakah Saya Boleh Memisahkan Rentetan dalam Oracle SQL pada Kejadian Terjauh Pembatas?

Barbara Streisand
Lepaskan: 2025-01-05 10:51:38
asal
837 orang telah melayarinya

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

Memisahkan Rentetan mengikut Kedudukan Pembatas Menggunakan Oracle SQL

Sama seperti siaran lain, keperluannya adalah untuk memisahkan rentetan dengan kejadian terjauh sesuatu pembatas. Perbezaan utama di sini ialah pembatas bukan selalunya yang pertama, tetapi yang paling jauh.

Untuk mencapai ini, fungsi SUBSTR dan INSTR boleh digunakan. Instr(str, '/', -1, 1) mencari kedudukan pembatas paling jauh, manakala -1 menunjukkan untuk mula mencari dari hujung rentetan ke arah permulaan.

Walau bagaimanapun, ralat berlaku dalam contoh yang disediakan kerana ketiadaan start_position dalam fungsi INSTR. Dengan menambah start_position = -1, fungsi INSTR berjaya mencari pembatas paling jauh dan membelah rentetan dengan sewajarnya.

Berikut ialah kod yang diubah suai:

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
Salin selepas log masuk

Pindaan ini memastikan kod terbahagi dengan tepat rentetan pada kedudukan pembatas yang dikehendaki, menghasilkan output "F/P" dan "O" yang betul untuk rentetan yang diberikan "F/P/O".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan dalam Oracle SQL pada Kejadian Terjauh Pembatas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan