Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengesahkan jika Lajur MySQL Mengandungi Nilai Numerik?

Bagaimanakah Saya Boleh Mengesahkan jika Lajur MySQL Mengandungi Nilai Numerik?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-13 15:17:47555semak imbas

How Can I Verify if a MySQL Column Contains Numeric Values?

Panduan Komprehensif untuk Mengenalpasti Data Berangka dalam MySQL

Menentukan sama ada lajur MySQL mengandungi nilai berangka adalah tugas yang kerap dalam pengurusan pangkalan data. Panduan ini menggariskan beberapa teknik yang berkesan untuk mencapai matlamat ini.

Pendekatan 1: Memanfaatkan Fungsi isNumeric()

MySQL menyediakan fungsi isNumeric() terbina dalam. Fungsi ini dengan mudah mengembalikan 1 untuk nilai angka dan 0 untuk nilai bukan angka. Begini cara menggunakannya:

<code class="language-sql">SELECT * FROM myTable WHERE isNumeric(col1) = 1;</code>

Pendekatan 2: Menggunakan Ungkapan Biasa

Ekspresi biasa menawarkan alternatif yang fleksibel. Ungkapan biasa berikut sepadan dengan rentetan yang terdiri sepenuhnya daripada digit:

<code class="language-sql">col1 REGEXP '^[0-9]+$'</code>

Masukkan ini ke dalam pertanyaan anda seperti berikut:

<code class="language-sql">SELECT * FROM myTable WHERE col1 REGEXP '^[0-9]+$';</code>

Pendekatan 3: Menggunakan Penukaran Rentetan dengan CAST()

Kaedah ini cuba menukar nilai lajur kepada integer menggunakan fungsi CAST(). Penukaran yang berjaya menunjukkan nilai angka.

<code class="language-sql">SELECT * FROM myTable WHERE CAST(col1 AS UNSIGNED) IS NOT NULL;</code>

Menggunakan UNSIGNED adalah lebih baik daripada INT kerana ia mengendalikan julat nombor positif yang lebih luas dan mengelakkan kemungkinan ralat dengan nilai negatif jika data anda tidak mengandunginya.

Bacaan Lanjut:

Fungsi Rentetan MySQL

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan jika Lajur MySQL Mengandungi Nilai Numerik?. 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