Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengekstrak Aksara Berangka daripada Data MySQL untuk Perbandingan Tepat?

Bagaimana untuk Mengekstrak Aksara Berangka daripada Data MySQL untuk Perbandingan Tepat?

Patricia Arquette
Lepaskan: 2024-12-07 21:16:16
asal
395 orang telah melayarinya

How to Extract Numeric Characters from MySQL Data for Accurate Comparisons?

Mengekstrak Aksara Berangka daripada Data MySQL untuk Perbandingan Tepat

Untuk membandingkan dengan nilai berangka tertentu dalam jadual MySQL, di mana entri pangkalan data mungkin mengandungi bukan -aksara angka, kaedah yang boleh dipercayai diperlukan untuk menghapuskan bukan angka tersebut. Walaupun fungsi PHP seperti preg_replace menawarkan penyelesaian yang mudah, MySQL memerlukan pendekatan asli.

Fungsi MySQL untuk Menghapuskan Bukan Digit

Untuk melaksanakan tugas ini dengan berkesan, MySQL berikut fungsi boleh dicipta:

CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
   DECLARE output   VARCHAR(255) DEFAULT '';
   DECLARE iterator INT          DEFAULT 1;
   WHILE iterator < (LENGTH(input) + 1) DO
      IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
         SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
      END IF;
      SET iterator = iterator + 1;
   END WHILE;
   RETURN output;
END
Salin selepas log masuk

Penggunaan

Untuk menggunakan fungsi STRIP_NON_DIGIT dalam pertanyaan, hanya gunakannya pada lajur sasaran seperti berikut:

SELECT * FROM foo WHERE STRIP_NON_DIGIT(bar) = '12345';
Salin selepas log masuk

Pertanyaan ini akan mendapatkan semula rekod di mana lajur bar, selepas aksara bukan angkanya dialih keluar, sepadan dengan input pengguna '12345'.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Aksara Berangka daripada Data MySQL untuk Perbandingan Tepat?. 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