[sql] MySQL : 필드 크기 / 길이로 정렬

다음은 테이블 구조입니다 (예 : 테스트).

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

다음과 같은 쿼리 :

SELECT * FROM TEST ORDER BY description DESC;

하지만 필드 설명 의 필드 크기 / 길이 로 주문하고 싶습니다 . 필드 유형은 TEXT 또는 BLOB입니다.



답변

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

LENGTH함수는 문자열 길이를 바이트 단위로 제공합니다. (멀티 바이트) 문자 수를 계산하려면 CHAR_LENGTH대신 함수를 사용하십시오 .

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description) DESC;


답변

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);


답변

MS SQL을 사용하는 경우

SELECT * FROM TEST ORDER BY LEN(field)


답변