Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 파일 위치 레코드가 있는 테이블에서 하위 문자열 결과를 얻는 방법은 무엇입니까?


하위 문자열을 가져오려면 아래 구문과 같이 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)