MySQL - Cara memilih data berdasarkan panjang string


302
SELECT * FROM table ORDER BY string_length(column);

Apakah ada fungsi MySQL untuk melakukan ini (tentu saja bukan string_length)?

Jawaban:


492

Anda mencari untuk CHAR_LENGTH()mendapatkan jumlah karakter dalam sebuah string.

Untuk rangkaian byte multi-byte LENGTH()akan memberi Anda jumlah byte yang menempati string, sementara CHAR_LENGTH()akan mengembalikan jumlah karakter.


139
Sebenarnya, CHAR_LENGTH () harus menjadi pilihan yang lebih baik. Untuk rangkaian karakter multi-byte LENGTH () akan memberi Anda jumlah byte yang menempati string, sementara CHAR_LENGTH () akan mengembalikan jumlah karakter.
András Szepesházi

4
pilih PANJANG ('Ö'); hasil 2 !! Jawaban András Szepesházi adalah yang benar!
fubo

Apakah benar mengirim parameter integer ke CHAR_LENGTH, karena jika saya mengembalikan jumlah karakter? , por CHAR_LENGTH(12)2
ejemplo

81
select * from table order by length(column);

Dokumentasi pada fungsi length (), serta semua fungsi string lainnya, tersedia di sini .



3

Fungsi yang saya gunakan untuk menemukan panjang string length, digunakan sebagai berikut:

SELECT * FROM table ORDER BY length(column);

1

Saya menggunakan kalimat ini untuk memfilter

SELECT table.field1, table.field2 FROM table WHERE length(field) > 10;

Anda dapat mengubah 10 untuk nomor lain yang ingin Anda filter.


-2
select * from *tablename* where 1 having length(*fieldname*)=*fieldlength*

Contoh jika Anda ingin memilih dari pelanggan entri dengan nama yang lebih pendek dari 2 karakter.

select * from customer where 1 **having length(name)<2**
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.