Để tiếp tục các bài viết về các hàm thường dùng trong việc xử lý chuỗi, trong bài viết hôm này SmartData sẽ tiếp tục với các hàm POSITION và SUBSTR trong MySQL. Những hàm này có tác dụng như thế nào? Hãy cùng tìm hiểu sau đây nhé.
Hàm POSITION
Tác dụng
Hàm POSITION
trả về vị trí của chuỗi con trong chuỗi.
Cú pháp
Cú pháp sử dụng hàm POSTITON trong MySQL:
POSITION( substring IN string )
Giải thích:
substring:
Chuỗi con để tìm kiếm trong chuỗi.
string:
Chuỗi để tìm kiếm.
Lưu ý:
- Vị trí đầu tiên trong chuỗi là 1.
- Nếu không tìm thấy chuỗi con trong chuỗi, thì hàm POSITION sẽ trả về 0.
- Khi tìm kiếm vị trí của một chuỗi con trong chuỗi, hàm POSITION thực hiện tìm kiếm không phân biệt chữ hoa chữ thường.
Ví dụ 1:
Tìm kiếm chuỗi ‘Smart’ trong chuỗi “SQL in SmartData”.
SQL> select POSITION('Smart' in 'SQL in SmartData')
Kết quả:
Ví dụ 2: ta có bảng dữ liệu nhanvien
Lấy ra các vị trí kí tự ‘N’ trong tennv
SQL> select tennv, POSITION('N' in tennv) from nhanvien
Kết quả
Hàm SUBSTR (tương tự SUBSTRING)
Tác dụng
Hàm SUBSTR trích xuất một chuỗi con từ một chuỗi ban đầu.
Cú pháp
SUBSTR( string, start_position, [ length ] ) Hoặc SUBSTR( string FROM start_position [ FOR length ] )
Giải thích:
string
: Chuỗi nguồn
start_position
: Các vị trí được trích dẫn. Vị trí đầu tiên trong chuỗi luôn là 1.
length
: Không bắt buộc. Đây là số lượng ký tự để trích dẫn. Nếu tham số này bị bỏ qua, hàm SUBSTR
sẽ trả về toàn bộ chuỗi.
Lưu ý:
- Vị trí đầu tiên trong chuỗi là 1.
- Nếu start_position là một số dương, thì hàm SUBSTR bắt đầu từ đầu chuỗi.
- Nếu start_position là một số âm, thì hàm SUBSTR bắt đầu từ cuối chuỗi và đếm ngược.
Ví dụ 3: Lấy chuỗi bắt đầu từ kí tự thứ 12 của chuỗi ‘Nghiepnv in SmartData’
SQL> select substring('Nghiepnv in SmartData', 12)
Kết quả:
Ví dụ 4: Từ bảng dữ liệu ở ví dụ 2, lấy chuỗi từ vị trí thứ 2 đến vị trí thứ 5 của trường dchi
SQL> select dchi, substring(dchi, 2, 5) from nhanvien
Kết quả:
Kết luận
Thông qua bài viết trên chúng ta đã có thêm hiểu biết về ý nghĩa, cú pháp và cách sử dụng hàm POSITION và SUBSTR trong MYSQL
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: