Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để chọn tất cả các phần mở rộng tên tệp riêng biệt từ một bảng tên tệp trong MySQL?

Bạn có thể sử dụng DISTINCT cùng với SUBSTRING_INDEX () để trích xuất phần mở rộng tên tệp. Đầu tiên chúng ta hãy tạo một bảng−

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FileName text
   );
Query OK, 0 rows affected (0.75 sec)

Chèn bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable(FileName) values('AddTwoValue.java');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('Image1.png');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('MultiplicationOfTwoNumbers.java');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('Palindrome.c');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FileName) values('FoodCart.png');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(FileName) values('Permutation.py');
Query OK, 1 row affected (0.18 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable;

Điều này sẽ tạo ra kết quả sau−

+----+---------------------------------+
| Id | FileName                        |
+----+---------------------------------+
| 1  | AddTwoValue.java                |
| 2  | Image1.png                      |
| 3  | MultiplicationOfTwoNumbers.java |
| 4  | Palindrome.c                    |
| 5  | FoodCart.png                    |
| 6  | Permutation.py                  |
+----+---------------------------------+
6 rows in set (0.00 sec)

Sau đây là truy vấn để chọn tất cả các phần mở rộng tên tệp riêng biệt từ một bảng tên tệp−

mysql> SELECT DISTINCT SUBSTRING_INDEX(FileName,'.',-1) FROM DemoTable;

Điều này sẽ tạo ra kết quả sau−

+----------------------------------+
| SUBSTRING_INDEX(FileName,'.',-1) |
+----------------------------------+
| java                             |
| png                              |
| c                                |
| py                               |
+----------------------------------+
4 rows in set (0.03 sec)