Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengisih Medan VARCHAR Secara Numerik dalam MySQL?

Bagaimanakah Saya Boleh Mengisih Medan VARCHAR Secara Numerik dalam MySQL?

DDD
Lepaskan: 2024-12-05 13:18:12
asal
438 orang telah melayarinya

How Can I Sort a VARCHAR Field Numerically in MySQL?

Mengisih Medan Varchar Secara Numerik dalam MySQL

Menghadapi isu dengan mengisih nilai angka yang disimpan sebagai rentetan dalam medan varchar? Dalam MySQL, pengisihan leksikografi boleh membawa kepada hasil yang tidak dijangka, dengan nilai seperti "42" mendahului "9".

Menangani Isu

Untuk membetulkannya, pertimbangkan untuk mengubah suai anda pertanyaan untuk menghantar medan varchar secara eksplisit sebagai integer yang ditandatangani sebelum mengisih. Penukaran ini memaksa nilai ke dalam perwakilan berangkanya, memudahkan pengisihan berangka yang betul.

Pertanyaan Diubah Suai:

Ganti pertanyaan asal anda dengan versi diubah suai berikut:

SELECT * FROM table ORDER BY CAST(number as SIGNED INTEGER) ASC
Salin selepas log masuk

Memahami Cast:

Fungsi CAST() menukar medan nombor daripada varchar kepada integer yang ditandatangani. Ini memastikan bahawa MySQL menganggap nilai sebagai data angka dan bukannya data aksara.

Tertib Isih Menaik:

Dengan menentukan ASC dalam susunan mengikut klausa, anda mengarahkan MySQL untuk mengisih keputusan dalam tertib menaik. Ini bermakna nilai berangka terkecil akan muncul dahulu.

Dengan melaksanakan pertanyaan yang diubah suai ini, anda akan mengisih medan varchar anda secara berangka dengan berkesan, memastikan nilai seperti "9" didahulukan sebelum "42."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengisih Medan VARCHAR Secara Numerik dalam MySQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan