MySQL의 CHAR_LENGTH() 함수를 사용하여 문자 길이별로 정렬할 수 있습니다. 이 함수는 다음 문자열에 대해 문자 수, 즉 4를 반환합니다 -
AMIT
문자열을 문자 길이로 정렬하려면 다음 구문을 사용하십시오. -
select *from yourTableName order by CHAR_LENGTH(yourColumnName);
위의 개념을 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 다음은 테이블을 생성하는 쿼리입니다 -
mysql> create table OrderByCharacterLength −> ( −> BookName varchar(200) −> ); Query OK, 0 rows affected (1.97 sec)
insert 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into OrderByCharacterLength values('Let us C'); Query OK, 1 row affected (0.31 sec) mysql> insert into OrderByCharacterLength values('Introduction to C'); Query OK, 1 row affected (0.20 sec) mysql> insert into OrderByCharacterLength values('Data Structure And Algorithm in Java '); Query OK, 1 row affected (0.13 sec) mysql> insert into OrderByCharacterLength values('C in Depth'); Query OK, 1 row affected (0.17 sec) mysql> insert into OrderByCharacterLength values('Java Projects'); Query OK, 1 row affected (0.23 sec)
위의 표에 삽입된 대로 모든 레코드를 순서대로 표시해 보겠습니다. 쿼리는 다음과 같습니다 -
mysql> select *from OrderByCharacterLength;
다음은 출력입니다 -
+---------------------------------------+ | BookName | +---------------------------------------+ | Let us C | | Introduction to C | | Data Structure And Algorithm in Java | | C in Depth | | Java Projects | +---------------------------------------+ 5 rows in set (0.00 sec)
다음은 문자 길이에 따라 정렬된 모든 레코드를 표시하는 쿼리입니다. 열 값의 길이가 최소값이면 우선 순위가 높아져 먼저 표시됩니다.
쿼리는 다음과 같습니다 -
mysql> select *from OrderByCharacterLength order by CHAR_LENGTH(BookName);
다음은 출력입니다 -
+---------------------------------------+ | BookName | +---------------------------------------+ | Let us C | | C in Depth | | Java Projects | | Introduction to C | | Data Structure And Algorithm in Java | +---------------------------------------+ 5 rows in set (0.00 sec)