Hàm SUBSTRING[] & MID[] được dùng để trích xuất một chuỗi ký tự con trong một chuỗi ký tự cha.
Về cách sử dụng, hàm MID[] giống với hàm SUBSTRING[]. Nên ở bài hướng dẫn này, tôi dùng hàm SUBSTRING[] đại diện cho cả hai.
Cú pháp
SELECT SUBSTRING[column_name, start, length]
FROM table_name;
Trong đó:
- column_name là cột chứa chuỗi ký tự cha.
- start là vị trí bắt đầu lấy trong chuỗi cha.
- length là độ dài của chuỗi con.
Một số ví dụ
Chúng ta có một bảng sinh_vien như sau:
[Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới]
Nguyen Thanh Nhan | Nam | 19 | Can Tho |
Pham Thu Huong | Nu | 20 | Vinh Long |
Nguyen Nhu Ngoc | Nu | 20 | Vinh Long |
Nguyen Nhu Ngoc | Nam | 19 | Vinh Long |
Nguyen Nhu Ngoc | Nu | 22 | Can Tho |
Pham Thu Huong | Nam | 35 | Can Tho |
Pham Thu Huong | Nam | 44 | Can Tho |
Pham Thu Huong
SELECT SUBSTRING[Full_name, 1, 5]
FROM sinh_vien;
Nu
Nguyen Nhu Ngoc |
Soc Trang |
Nguyen Nhu Ngoc |
Soc Trang |
Bui Thanh Bao |
Le My Nhan |
Tan Thuc Bao |
An Giang
SELECT City, SUBSTRING[Full_name, 2, 6] AS ky_tu
FROM sinh_vien
WHERE Gender='Nam';
Nu
Can Tho | Pham Thu Huong |
Vinh Long | Nguyen Nhu Ngoc |
Can Tho | Pham Thu Huong |
Can Tho | Pham Thu Huong |
Nu
Vinh Longfreetuts.net, không được copy dưới mọi hình thức.
Nguyen Nhu Ngoc
Soc Trang
Bui Thanh Bao
Le My Nhan
SUBSTRING[ string, start_position, [ length ] ]
Tan Thuc Bao
An Giang
SUBSTRING[ string FROM start_position [ FOR length ] ]
Trong đó:
Trinh Giao Kim
Bac Lieu
Ví dụ 1
Lấy 5 ký tự đầu tiên của cột họ tên
- Sau khi thực thi, MySQL trả về bảng kết quả như sau:
- SUBSTRING[Full_name, 1, 5]
- Nguye
Pham
Bui T
- Le My
Tan T
mysql> SELECT SUBSTRING['Freetuts.net', 5]; Ket qua: 'tuts.net' mysql> SELECT SUBSTRING['Freetuts.net' FROM 5]; Ket qua: 'tuts.net' mysql> SELECT SUBSTRING['Freetuts.net', 1, 4]; Ket qua: 'Free' mysql> SELECT SUBSTRING['Freetuts.net' FROM 1 FOR 4]; Ket qua: 'Free' mysql> SELECT SUBSTRING['Freetuts.net', -3, 3]; Ket qua: 'net' mysql> SELECT SUBSTRING['Freetuts.net' FROM -3 FOR 3]; Ket qua: 'net' mysql> SELECT SUBSTRING['Freetuts.net', 30]; Ket qua: ''
Tan Thuc Bao
An Giang
Trinh Giao Kim
SELECT SUBSTRING[column_name, start, length]
FROM table_name;
Bac Lieu
- Ví dụ 1
- Lấy 5 ký tự đầu tiên của cột họ tên
- Sau khi thực thi, MySQL trả về bảng kết quả như sau:
SUBSTRING[Full_name, 1, 5]
Nguye
Bac Lieu | Nam | 19 | Nam |
Le My Nhan | Nu | 20 | Vinh Long |
Nguyen Nhu Ngoc | Nu | 20 | Soc Trang |
Bui Thanh Bao | Nam | 19 | Soc Trang |
Bui Thanh Bao | Nu | 22 | Nam |
Le My Nhan | Nam | 35 | Le My Nhan |
Can Tho | Nam | 44 | Le My Nhan |
Can Tho
Tan Thuc Bao
SELECT SUBSTRING[Full_name, 1, 5]
FROM sinh_vien;
An Giang
Bac Lieu |
Ví dụ 1 |
Bac Lieu |
Ví dụ 1 |
Lấy 5 ký tự đầu tiên của cột họ tên |
Sau khi thực thi, MySQL trả về bảng kết quả như sau: |
SUBSTRING[Full_name, 1, 5] |
Nguye
Pham
SELECT City, SUBSTRING[Full_name, 2, 6] AS ky_tu
FROM sinh_vien
WHERE Gender='Nam';
An Giang
Nam | Le My Nhan |
Soc Trang | Bui Thanh Bao |
Le My Nhan | Can Tho |
Le My Nhan | Can Tho |