Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengekstrak Data Khusus daripada Rentetan Terhad dalam T-SQL?

Bagaimanakah Saya Boleh Mengekstrak Data Khusus daripada Rentetan Terhad dalam T-SQL?

DDD
DDDasal
2024-12-21 07:28:14433semak imbas

How Can I Extract Specific Data from a Delimited String in T-SQL?

Memisahkan Rentetan Menggunakan Aksara Pembatas dalam T-SQL

Soalan ini menangani keperluan untuk mengekstrak maklumat khusus daripada rentetan panjang yang disimpan dalam jadual lajur. Cabarannya terletak pada membelah rentetan berdasarkan pembatas tertentu dan mengekstrak sekeping data tertentu.

Untuk mencapai ini menggunakan T-SQL, pendekatan berikut boleh digunakan:

Pertama, CHARINDEX atau fungsi PATINDEX digunakan untuk mencari kedudukan aksara pembatas ('|') dalam rentetan.

Seterusnya, fungsi STUFF digunakan untuk mencipta rentetan baharu yang merangkumi teks selepas aksara pembatas.

Akhir sekali, fungsi SUBSTRING digunakan untuk mengekstrak teks yang dikehendaki, seperti "Nama Klien" dalam contoh ini, berdasarkan kedudukan aksara pembatas dan panjang yang ditentukan bagi aksara.

Select col1, col2, LTRIM(RTRIM(SUBSTRING(
    STUFF(col3, CHARINDEX('|', col3,
    PATINDEX('%|Client Name =%', col3) + 14), 1000, ''),
    PATINDEX('%|Client Name =%', col3) + 14, 1000))) col3
from Table01

Pertanyaan ini memanfaatkan fungsi CHARINDEX atau PATINDEX untuk mencari kedudukan "|" aksara dalam lajur "col3" dan kemudian mencipta rentetan baharu yang menyertakan teks selepas pembatas menggunakan fungsi STUFF. Akhir sekali, fungsi SUBSTRING digunakan untuk mengekstrak nilai "Nama Pelanggan" berdasarkan kedudukan dan panjang aksara.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Data Khusus daripada Rentetan Terhad dalam T-SQL?. 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