Giả sử chúng ta có một danh sách các số điện thoại và muốn lấy mã vùng từ chúng. Mã vùng thường là 3 chữ số đầu tiên của số điện thoại. Chúng ta có thể sử dụng hàm LEFT() trong MySQL để thực hiện việc này.
Tạo bảng và chèn dữ liệu mẫu
Trước tiên, tạo một bảng tên DemoTable:
mysql> CREATE TABLE DemoTable (
-> AreaCodes VARCHAR(100)
-> );
Query OK, 0 rows affected (0.62 sec)
Chèn một số bản ghi số điện thoại vào bảng:
mysql> INSERT INTO DemoTable VALUES('90387568976');
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable VALUES('90389097878');
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable VALUES('56789008799');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES('45679008571');
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable VALUES('45679008536');
Query OK, 1 row affected (0.12 sec)
Hiển thị tất cả bản ghi
mysql> SELECT * FROM DemoTable;
Kết quả:
+-------------+ | AreaCodes | +-------------+ | 90387568976 | | 90389097878 | | 56789008799 | | 45679008571 | | 45679008536 | +-------------+ 5 rows in set (0.00 sec)
Truy vấn lấy mã vùng (4 chữ số đầu)
Sử dụng LEFT(AreaCodes, 4) để lấy 4 ký tự đầu tiên và DISTINCT để loại bỏ trùng lặp:
mysql> SELECT DISTINCT LEFT(AreaCodes, 4) FROM DemoTable;
Kết quả:
+-------------------+ | LEFT(AreaCodes,4) | +-------------------+ | 9038 | | 5678 | | 4567 | +-------------------+ 3 rows in set (0.13 sec)
Lưu ý: Ví dụ này lấy 4 chữ số đầu thay vì 3 như mô tả ban đầu. Để lấy đúng 3 chữ số mã vùng, hãy thay đổi thành LEFT(AreaCodes, 3).