Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL SELECT 결과에서 긴 텍스트(LONGTEXT) 필드 길이 제한하는 방법

MySQL에서는 SUBSTRING() 함수를 사용하여 SELECT 쿼리 결과로 반환되는 긴 텍스트 필드의 길이를 손쉽게 제한할 수 있습니다. 이 함수는 지정한 시작 위치부터 원하는 문자 수만큼만 잘라서 반환해 주기 때문에, 게시글 목록 화면 등에서 요약 텍스트를 표시할 때 특히 유용합니다.

SUBSTRING() 기본 문법

SELECT SUBSTRING(yourColumnName, 1, yourIntegerValueToGetTheCharacters) AS anyVariableName
FROM yourTableName;

위 문법에서 첫 번째 인자는 대상 컬럼명, 두 번째 인자는 시작 위치(1부터 시작), 세 번째 인자는 가져올 문자 개수입니다.

예제 테이블 생성

문법을 제대로 이해하기 위해 LONGTEXT 타입의 컬럼을 가진 테이블을 먼저 만들어 보겠습니다.

mysql> create table limitLengthOfLongTextDemo
    -> (
    -> sentence LONGTEXT
    -> );
Query OK, 0 rows affected (0.74 sec)

샘플 데이터 삽입

INSERT 명령을 사용하여 몇 개의 레코드를 추가합니다.

mysql> insert into limitLengthOfLongTextDemo values('This is the introduction to MySQL');
Query OK, 1 row affected (0.17 sec)

mysql> insert into limitLengthOfLongTextDemo values('PL/SQL is the extension of Structured Query Language');
Query OK, 1 row affected (0.19 sec)

mysql> insert into limitLengthOfLongTextDemo values('Java is an Object Oriented Programming Language');
Query OK, 1 row affected (0.20 sec)

전체 데이터 조회

SELECT문으로 테이블의 모든 레코드를 확인합니다.

mysql> select *from limitLengthOfLongTextDemo;

실행 결과는 다음과 같습니다.

+------------------------------------------------------+
| sentence                                             |
+------------------------------------------------------+
| This is the introduction to MySQL                    |
| PL/SQL is the extension of Structured Query Language |
| Java is an Object Oriented Programming Language      |
+------------------------------------------------------+
3 rows in set (0.00 sec)

SUBSTRING()으로 길이 제한하기

이제 SUBSTRING() 함수를 사용하여 각 문장에서 앞 26자만 추출해 보겠습니다.

mysql> select substring(sentence,1,26) as 26Characters from limitLengthOfLongTextDemo;

실행 결과는 다음과 같습니다.

+----------------------------+
| 26Characters               |
+----------------------------+
| This is the introduction t |
| PL/SQL is the extension of |
| Java is an Object Oriented |
+----------------------------+
3 rows in set (0.00 sec)

결과를 보면 모든 문장이 정확히 26자까지만 잘려서 출력된 것을 확인할 수 있습니다. 이처럼 SUBSTRING() 함수를 활용하면 별도의 애플리케이션 후처리 작업 없이 SQL 단계에서 바로 원하는 길이만큼 텍스트를 잘라낼 수 있어, 데이터 전송량을 줄이고 화면 레이아웃을 깔끔하게 유지하는 데 도움이 됩니다.