Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengesahkan jika Lajur MySQL Mengandungi Nilai Numerik?
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:
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!