Here is a table structure (e.g. test):
__________________________________________
| Field Name | Data Type |
|________________|_________________________|
| id | BIGINT (20) |
|________________|_________________________|
| title | varchar(25) |
|________________|_________________________|
| description | text |
|________________|_________________________|
A query like:
SELECT * FROM TEST ORDER BY description DESC;
But I would like to order by the field size/length of the field description. The field type will be TEXT or BLOB.
João Silva
SELECT * FROM TEST ORDER BY LENGTH(description) DESC;
The LENGTH
function gives the length of string in bytes. If you want to count (multi-byte) characters, use the CHAR_LENGTH
function instead:
SELECT * FROM TEST ORDER BY CHAR_LENGTH(description) DESC;
SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);
For those using MS SQL
SELECT * FROM TEST ORDER BY LEN(field)
来源:https://stackoverflow.com/questions/2572118/mysql-order-by-field-size-length