Isih Berangka Medan VARCHAR dalam MySQL
Menyimpan nilai integer sebagai medan VARCHAR boleh menimbulkan cabaran apabila cuba mengisihnya secara berangka. Secara lalai, MySQL melakukan susunan leksikografik, menghasilkan keputusan yang tidak diingini apabila sifar pendahuluan hadir. Untuk menangani perkara ini, teknik pengisihan berangka digunakan.
Penyelesaian:
Untuk mengisih medan VARCHAR secara berangka, seseorang boleh menukarnya kepada jenis data berangka sebelum menggunakan operasi pengisihan . Fungsi CAST() menyediakan fungsi ini. Menggunakan INTEGER BERTANDA memastikan bahawa sifar pendahuluan diabaikan. Pertanyaan yang diubah suai menjadi:
SELECT * FROM table_name ORDER BY CAST(field_name as SIGNED INTEGER) ASC
Dalam pertanyaan ini, lajur field_name ditukar kepada integer yang ditandatangani, menghapuskan kesan sifar pendahuluan dan membenarkan susunan angka yang tepat. Pesanan Menaik (ASC) memastikan "9" didahulukan sebelum "42" seperti yang dijangkakan.
Teknik ini membenarkan pengendalian fleksibel medan VARCHAR yang mengandungi data aksara dan nilai angka, memastikan pengisihan yang betul berdasarkan nilai angka.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyusun Medan VARCHAR secara Numerik dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!