MySQL: Order by field size/length
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 desc开发者_StackOverflow社区ription DESC;
But I would like to order by the field size/length of the field description.
The field type will be TEXT or BLOB.
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;
For those using MS SQL
SELECT * FROM TEST ORDER BY LEN(field)
SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);
精彩评论