Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengekstrak Substring Antara Dua Pembatas dengan betul dalam SQL?

Bagaimana untuk Mengekstrak Substring Antara Dua Pembatas dengan betul dalam SQL?

Susan Sarandon
Lepaskan: 2024-12-26 19:27:11
asal
862 orang telah melayarinya

How to Correctly Extract a Substring Between Two Delimiters in SQL?

Mengambil Rentetan Antara Pembatas Yang Dikenali Menggunakan SQL

Dalam senario pangkalan data, selalunya perlu untuk mengekstrak subrentetan tertentu daripada rentetan yang lebih besar berdasarkan pembatas yang diketahui. Sebagai contoh, anda mungkin perlu mengasingkan sebahagian teks antara dua rentetan yang diberikan.

Satu pendekatan biasa ialah menggunakan fungsi SUBSTRING. Walau bagaimanapun, ralat biasa apabila menggunakan fungsi ini ialah memasukkan indeks rentetan pertama yang diketahui dalam pengiraan panjang untuk subrentetan.

Untuk mendapatkan semula subrentetan antara dua pembatas dengan betul, pengiraan berikut diperlukan:

CHARINDEX(second_delimiter, @Text) - CHARINDEX(first_delimiter, @Text) + Length(second_delimiter)
Salin selepas log masuk

Formula ini memastikan bahawa subrentetan yang diambil bermula dengan pembatas pertama dan berakhir dengan yang kedua pembatas.

Sebagai contoh, pertimbangkan pertanyaan berikut:

SELECT SUBSTRING(@Text, CHARINDEX('the dog', @Text),
CHARINDEX('immediately', @Text) - CHARINDEX('the dog', @Text) + LEN('immediately'))
Salin selepas log masuk

Dalam pertanyaan ini, @Text mewakili rentetan input. Dengan menyatakan rentetan yang diketahui "anjing" dan "dengan serta-merta", pertanyaan mendapatkan semula subrentetan dengan tepat "anjing itu sangat teruk dan memerlukan hukuman berat serta-merta."

Dengan membetulkan pengiraan panjang subrentetan, anda boleh dengan berkesan ekstrak bahagian teks tertentu dalam rentetan yang lebih besar menggunakan SQL.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Substring Antara Dua Pembatas dengan betul dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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