Dalam mysql, pengendali REGEXP boleh digunakan dengan ungkapan biasa "[^0-9.]" untuk menentukan sama ada data ialah nombor "Field REGEXP '[^0-9. ]'" ; Apabila hasil pernyataan ialah "1", anda boleh menapis data yang bukan nombor. Apabila hasil pernyataan ialah "0", anda boleh menapis data yang nilainya ialah nombor.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Kebanyakan nombor disimpan dalam int atau bigint, tetapi sesetengah medan menggunakan rentetan untuk menyimpan nombor Oleh itu, apabila kita perlu menentukan sama ada rentetan format Apabila semuanya nombor, anda akan menghadapi masalah ini.
Jadi, bagaimana untuk menilai?
kaedah
menggunakan operator REGEXP mysql
{String} REGEXP '[^0-9.]'
Rentetan di hadapan ialah perkara yang perlu kita nilai, dan rentetan di belakang ialah Ungkapan biasa MySQL bermaksud untuk memadankan aksara yang bukan nombor atau titik perpuluhan.
Jika Rentetan mengandungi nombor yang bukan antara 0-9 atau titik perpuluhan, ia akan mengembalikan benar, jika tidak ia akan mengembalikan palsu.
Penggunaan
select ('123a' REGEXP '[^0-9.]');
--'123a' mengandungi aksara 'a', hasil output ialah 1, output pemalar benar dalam mysql ialah 1 , output false ialah 0
select * from tablename where (name REGEXP '[^0-9.]') = 1
Rekod pertanyaan yang namanya semua nombor
Nota: Jika terdapat ruang dalam rentetan, ungkapan biasa juga akan dipadankan dan 1 akan dikembalikan. Jika anda ingin mengalih keluar ruang di kedua-dua hujungnya, anda perlu menggunakan fungsi trim() pada rentetan yang anda nilai.
#Soal data yang lajur kelajuannya bukan nombor
select * from standard_csbi_service_tree_1d_full where (‘2134’ REGEXP ‘[^0-9.]’)=1;
#Soal data yang lajur kelajuannya ialah nombor
select * from standard_csbi_service_tree_1d_full where (speed REGEXP ‘[^0-9.]’)=0;
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada mysql ialah nombor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!