하위 문자열을 가져오려면 아래 구문과 같이 MySQL에서 substr() 메서드를 사용하십시오 -
select substr(yourColumnName,startIndex,endIndex) from yourTableName limit anyValue; select substr(yourColumnName,startIndex+endIndex) from yourTableName limit anyValue;
테이블을 만들어 봅시다 -
mysql> create table demo11 −> ( −> id int NOT NULL AUTO_INCREMENT PRIMARY KEY, −> fileLocation text −> ); Query OK, 0 rows affected (2.60 sec)
insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -
mysql> insert into demo11(fileLocation) values('E:/users/program/sample.sql'); Query OK, 1 row affected (0.15 sec) mysql> insert into demo11(fileLocation) values('E:/users/data/db.sql'); Query OK, 1 row affected (0.32 sec) mysql> insert into demo11(fileLocation) values('C:/users/data/sample2.sql'); Query OK, 1 row affected (0.13 sec)
select 문을 사용하여 테이블의 레코드 표시 -
mysql> select *from demo11;
이것은 다음과 같은 출력을 생성합니다 -
+----+-----------------------------+ | id | fileLocation | +----+-----------------------------+ | 1 | E:/users/program/sample.sql | | 2 | E:/users/data/db.sql | | 3 | C:/users/data/sample2.sql | +----+-----------------------------+ 3 rows in set (0.00 sec)s
다음은 여러 줄의 하위 문자열 결과를 가져오는 쿼리입니다.
첫 번째 부분 쿼리는 다음과 같습니다 -
mysql> select substr(fileLocation,1,15) from demo11 limit 1,2;
이것은 다음과 같은 출력을 생성합니다 -
+---------------------------+ | substr(fileLocation,1,15) | +---------------------------+ | E:/users/data/d | | C:/users/data/s | +---------------------------+ 2 rows in set (0.00 sec)
두 번째 부분은 다음과 같습니다 -
mysql> select substr(fileLocation,16) from demo11 limit 1,2;
이것은 다음과 같은 출력을 생성합니다 -
+-------------------------+ | substr(fileLocation,16) | +-------------------------+ | b.sql | | ample2.sql | +-------------------------+ 2 rows in set (0.00 sec)