Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengeluarkan Nilai Khusus daripada Senarai Dipisahkan Koma yang Mengandungi NULL Menggunakan REGEXP_SUBSTR()?
EKSPRESI BIASA UNTUK MEMILIH NILAI INDIVIDU DARIPADA SENARAI YANG NULL
Isu:
REG () gagal mendapatkan nilai ke-n yang dikehendaki daripada senarai yang dipisahkan koma apabila nol hadir. Apabila nilai adalah nol, ia mengembalikan nilai bukan nol seterusnya sebagai kejadian ke-n.Penyelesaian:
Untuk mengatasi isu ini, ungkapan REGEXP_SUBSTR() yang diubah suai boleh digunakan:REGEXP_SUBSTR('1,,3,4,5', '(.*?)(,|$)', 1, 2, NULL, 1)Ungkapan ini menangkap data yang dikehendaki dengan mengikuti ini langkah:
Fungsi Boleh Digunakan Semula:
Untuk lebih ringkas dan penggunaan yang lebih mudah, ungkapan REGEXP_SUBSTR() yang diubah suai ini boleh dikapsulkan dalam PL/SQL fungsi:FUNCTION GET_LIST_ELEMENT(string_in VARCHAR2, element_in NUMBER, delimiter_in VARCHAR2 DEFAULT ',') RETURN VARCHAR2 IS BEGIN RETURN REGEXP_SUBSTR(string_in, '(.*?)(\'||delimiter_in||'|$)', 1, element_in, NULL, 1); END GET_LIST_ELEMENT;
Contoh Penggunaan:
Untuk mendapatkan semula elemen ke-4 daripada senarai '123,222,,432,555':Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Nilai Khusus daripada Senarai Dipisahkan Koma yang Mengandungi NULL Menggunakan REGEXP_SUBSTR()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!