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

MySQL에서 파일 이름이 문자열인 열에서 파일 확장자만 가져오시겠습니까?

<시간/>

이를 위해 substring_index() 함수를 사용하십시오.

구문은 다음과 같습니다.

select substring_index(yourColumnName, '. ', -1) AS anyAliasNamefrom yourTableName;

먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table AllFiles
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > UserName varchar(10),
   - > FileName varchar(100)
   - > );
Query OK, 0 rows affected (0.65 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오.

쿼리는 다음과 같습니다

mysql> insert into AllFiles(UserName,FileName) values('Larry','AddTwoNumber.java');
Query OK, 1 row affected (0.18 sec)
mysql> insert into AllFiles(UserName,FileName) values('Mike','AddTwoNumber.python');
Query OK, 1 row affected (0.15 sec)
mysql> insert into AllFiles(UserName,FileName) values('Sam','MatrixMultiplication.c');
Query OK, 1 row affected (0.16 sec)
mysql> insert into AllFiles(UserName,FileName) values('Carol','vector.cpp');
Query OK, 1 row affected (0.15 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다.

쿼리는 다음과 같습니다

mysql> select *from AllFiles;

다음은 출력입니다.

+----+----------+------------------------+
| Id | UserName | FileName               |
+----+----------+------------------------+
|  1 | Larry    | AddTwoNumber.java      |
|  2 | Mike     | AddTwoNumber.python    |
|  3 | Sam      | MatrixMultiplication.c |
|  4 | Carol    | vector.cpp             |
+----+----------+------------------------+
4 rows in set (0.00 sec)

다음은 MySQL에서 파일 확장자만 가져오는 쿼리입니다.

mysql> select substring_index(FileName,'.',-1) AS ALLFILENAMEEXTENSIONS from AllFiles;

다음은 출력입니다.

+-----------------------+
| ALLFILENAMEEXTENSIONS |
+-----------------------+
| java                  |
| python                |
| c                     |
| cpp                   |
+-----------------------+
4 rows in set (0.00 sec)