Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengekstrak Fragmen Teks Tertentu dalam Pelayan SQL Menggunakan SUBSTRING dan CHARINDEX?

Bagaimana untuk Mengekstrak Fragmen Teks Tertentu dalam Pelayan SQL Menggunakan SUBSTRING dan CHARINDEX?

Linda Hamilton
Linda Hamiltonasal
2024-12-22 17:19:10449semak imbas

How to Extract Specific Text Fragments in SQL Server Using SUBSTRING and CHARINDEX?

Mendapatkan Serpihan Teks Tertentu dalam SQL Server

SQL Server menyediakan fungsi serba boleh untuk mengekstrak bahagian tertentu rentetan teks. Soalan ini berkaitan dengan mengasingkan segmen teks daripada entri yang lebih panjang dengan menyasarkan aksara sebelum dan selepas pembatas yang dipratentukan.

Untuk mencapai keperluan khusus ini, anda boleh menggunakan fungsi SUBSTRING. Sintaks untuk SUBSTRING ialah:

SUBSTRING(<expression>, <start>, <length>)
  • menentukan rentetan teks daripada mana subrentetan akan diekstrak.
  • menunjukkan kedudukan aksara dalam di mana pengekstrakan subrentetan bermula (indeks berasaskan 1).
  • menentukan bilangan aksara untuk diekstrak dari kedudukan mula.

Mendapatkan Teks Selepas Pembatas

Untuk mengekstrak bahagian teks selepas aksara tertentu, seperti sebagai garis miring (/), anda boleh menggunakan fungsi CHARINDEX. Fungsi ini mengembalikan kejadian pertama subrentetan yang ditentukan dalam rentetan teks.

Kod untuk mendapatkan semula teks selepas garis miring ialah:

SELECT SUBSTRING(@text, CHARINDEX('/', @text) + 1, LEN(@text))

Sebagai contoh, jika teks input ialah " images/test.jpg", output akan menjadi "test.jpg".

Mendapatkan Teks Sebelum Pembatas

Untuk mengekstrak bahagian teks sebelum aksara tertentu, seperti titik (.), anda boleh menggunakan pendekatan yang serupa:

SELECT SUBSTRING(@text, 1, CHARINDEX('.', @text) - 1)

Untuk rentetan input yang sama , output akan menjadi "imej/ujian".

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Fragmen Teks Tertentu dalam Pelayan SQL Menggunakan SUBSTRING dan CHARINDEX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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