Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengeluarkan Digit Berturut-turut daripada Medan Teks MySQL?

Bagaimanakah Saya Boleh Mengeluarkan Digit Berturut-turut daripada Medan Teks MySQL?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 15:15:13331semak imbas

How Can I Extract Consecutive Digits from MySQL Text Fields?

Mengekstrak Digit Berturut-turut daripada Medan Teks MySQL

Untuk mengekstrak digit berturut-turut secara berkesan daripada medan teks dalam MySQL, terdapat beberapa pendekatan:

Menggunakan Biasa Ungkapan:

Sokongan ungkapan biasa terbina dalam MySQL boleh digunakan untuk mengesan kejadian dua digit berturut-turut dalam medan teks. Walau bagaimanapun, kaedah ini tidak mengeluarkan digit sebagai medan yang berasingan.

Fungsi Tersuai dengan PCRE:

Untuk keupayaan ekspresi biasa lanjutan, pertimbangkan untuk melaksanakan LIB_MYSQLUDF_PREG. Pustaka sumber terbuka ini menawarkan fungsi seperti PREG_CAPTURE, PREG_POSITION, PREG_REPLACE dan PREG_RLIKE, yang membolehkan mengekstrak padanan tertentu daripada rentetan.

Fungsi Tersuai:

Pendekatan alternatif adalah untuk mencipta fungsi tersuai seperti REGEXP_EXTRACT untuk mengekstrak subrentetan terpanjang yang sepadan dengan corak ekspresi biasa yang dikehendaki. Fungsi ini membolehkan anda menentukan pelarasan kedudukan mula dan tamat untuk menangkap digit tanpa memasukkan aksara tambahan.

Kriteria Tambahan:

Jika anda perlu menapis digit yang diekstrak dengan nilai tertentu, seperti lebih daripada 20, anda boleh menggunakan kriteria tambahan dalam pertanyaan MySQL anda selepas memperoleh digit sebagai medan.

Contoh:

Pertimbangkan pelaksanaan fungsi tersuai berikut:

CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT)
RETURNS TEXT
DETERMINISTIC
BEGIN
  ...
  ...
END

Anda kemudian boleh menggunakan fungsi ini dalam pertanyaan anda untuk mengekstrak dua digit berturut-turut daripada medan teks asal dan tapis mengikut nilai:

SELECT `id`, REGEXP_EXTRACT(`originaltext`, '[0-9][0-9]') AS `digits`
FROM `source`
WHERE `digits` > 20;

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Digit Berturut-turut daripada Medan Teks MySQL?. 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