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

파일 경로가 있는 열에서 MySQL의 왼쪽 부분 문자열을 얻는 방법은 무엇입니까? 파일 이름을 제외한 전체 파일 경로 문자열을 표시하시겠습니까?

<시간/>

왼쪽 부분 문자열을 얻으려면 substring_index()와 함께 LEFT()를 사용하십시오. 예를 들어 파일 경로가 -

라고 가정해 보겠습니다.
“/MyFile/JavaProgram/Hello.java “

여기에서는 파일 이름, 즉 -

를 제외한 전체 파일 경로를 표시하는 방법을 볼 것입니다.
/MyFile/JavaProgram/

먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
(
   FileLocation text
);
Query OK, 0 rows affected (0.57 sec
)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable values('/MyFile/JavaProgram/Hello.java');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values('/C/AllPrograms/animation.gif');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('/E/FavFile/ChatProgram.java');
Query OK, 1 row affected (0.18 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+--------------------------------+
| FileLocation                   |
+--------------------------------+
| /MyFile/JavaProgram/Hello.java |
| /C/AllPrograms/animation.gif   |
| /E/FavFile/ChatProgram.java    |
+--------------------------------+
3 rows in set (0.00 sec)

다음은 MySQL에서 왼쪽 부분 문자열을 가져오는 쿼리입니다 -

mysql> select left(FileLocation,char_length(FileLocation)-char_length(substring_index(FileLocation,'/',-1))) from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+------------------------------------------------------------------------------------------------+
| left(FileLocation,char_length(FileLocation)-char_length(substring_index(FileLocation,'/',-1))) |
+------------------------------------------------------------------------------------------------+
| /MyFile/JavaProgram/                                                                           |
| /C/AllPrograms/                                                                                |
| /E/FavFile/                                                                                    |
+------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)