Sử dụng SUBSTRING_INDEX() với tham số âm để lấy phần sau dấu phân cách cuối cùng.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable1341 (Value VARCHAR(60));
Chèn dữ liệu (email, đường dẫn...):
mysql> INSERT INTO DemoTable1341 VALUES('John.123.@gmail.com'), ('Carol.Taylor.gmail'), ('C.MyFolder.Location');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable1341;
+---------------------+ | Value | +---------------------+ | John.123.@gmail.com | | Carol.Taylor.gmail | | C.MyFolder.Location | +---------------------+
Lấy phần sau dấu chấm cuối (-1):
mysql> SELECT SUBSTRING_INDEX(Value, '.', -1) FROM DemoTable1341;
Kết quả:
+---------------------------------+ | SUBSTRING_INDEX(Value, '.', -1) | +---------------------------------+ | com | | gmail | | Location | +---------------------------------+
Giải thích: SUBSTRING_INDEX(str, delim, count):
count > 0: trả về phần trước dấudelimthứcount(từ trái).count < 0: trả về phần sau dấudelimthứ|count|(từ phải).
Ứng dụng: Lấy extension file (SUBSTRING_INDEX(filename, '.', -1)), domain email, thư mục cuối đường dẫn...