Bagaimana untuk menentukan sama ada mysql ialah nombor

WBOY
Lepaskan: 2022-02-24 11:44:49
asal
12423 orang telah melayarinya

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.

Bagaimana untuk menentukan sama ada mysql ialah nombor

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Bagaimanakah mysql menentukan sama ada ia adalah nombor?

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

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.]');
Salin selepas log masuk

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

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

#Soal data yang lajur kelajuannya ialah nombor

select * from standard_csbi_service_tree_1d_full where (speed REGEXP ‘[^0-9.]’)=0;
Salin selepas log masuk

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!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan