MySQL: Diurutkan berdasarkan ukuran / panjang bidang


90

Berikut adalah struktur tabelnya (misal tes):

Nama Bidang Tipe data
Indo BIGINT (20)
judul varchar (25)
Deskripsi Teks

Sebuah kueri seperti:

SELECT * FROM TEST ORDER BY description DESC;

Tapi saya ingin memesan berdasarkan ukuran / panjang bidang deskripsi.

Jenis bidang adalah TEXT atau BLOB.

Jawaban:


172
SELECT * FROM TEST ORDER BY LENGTH(description) DESC;

The LENGTHFungsi memberikan panjang string dalam bytes. Jika Anda ingin menghitung karakter (multi-byte), gunakan CHAR_LENGTHfungsi sebagai gantinya:

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description) DESC;

4
Sekadar menambah jawaban: jika tipenya BLOB, Anda bisa menggunakan OCTET_LENGTH(column_name).
mastazi

@mastazi menurut dokumentasi MySQL: OCTET_LENGTH () adalah sinonim untuk LENGTH ().
Heitor

'CHAR_LENGTH' bukan nama fungsi bawaan yang dikenali. Saya menghadapi kesalahan ini
Anurag

5
SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);

'CHAR_LENGTH' bukan nama fungsi bawaan yang dikenali. Saya menghadapi kesalahan ini
Anurag

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.