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
Lepaskan: 2024-11-30 15:15:13
asal
399 orang telah melayarinya

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
Salin selepas log masuk

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;
Salin selepas log masuk

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!

sumber:php.cn
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