web-dev-qa-db-ja.com

MySQL:フィールドサイズ/長さで並べ替え

以下にテーブル構造を示します(例:テスト):

 __________________________________________
| Field Name     | Data Type               |                 
|________________|_________________________|                 
|    id          |   BIGINT (20)           |                 
|________________|_________________________|                 
|    title       |   varchar(25)           |                 
|________________|_________________________|                 
|    description |   text                  |                 
|________________|_________________________|                 

次のようなクエリ:

SELECT * FROM TEST ORDER BY description DESC;

しかし、フィールドの説明のフィールドサイズ/長さで並べたいと思います。フィールドタイプはTEXTまたはBLOBです。

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

LENGTH 関数は、文字列の長さをバイト単位で提供します。 (マルチバイト)文字をカウントする場合は、 CHAR_LENGTH 代わりに関数:

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description) DESC;
142
João Silva
SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);
4
Mike Sherov

MS SQLを使用している場合

SELECT * FROM TEST ORDER BY LEN(field)
3
mfrederick