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.