Trong MySQL, SUBSTRING()
hàm cho phép bạn trả về một chuỗi con từ một chuỗi. Vì vậy, bạn có thể sử dụng chức năng này để lấy một phần văn bản từ một đoạn văn bản lớn hơn.
Có một số cách khác nhau để sử dụng SUBSTRING()
và điều này ảnh hưởng đến cú pháp.
Ví dụ 1 - Cách sử dụng cơ bản
Cách sử dụng cơ bản nhất như sau:
SUBSTRING(str,pos)
Trong trường hợp này, str
là chuỗi và pos
là vị trí để bắt đầu chuỗi con.
Dưới đây là một ví dụ về cú pháp cơ bản này:
SELECT SUBSTRING('Cats and dogs', 6);
Kết quả:
and dogs
Trong ví dụ này, chúng tôi lấy một chuỗi con từ chuỗi Cats and dogs
, bắt đầu ở vị trí 6.
Ví dụ 2 - Sử dụng mệnh đề FROM
Một cách khác để làm điều đó:
SUBSTRING(str FROM pos)
Trong trường hợp này, FROM
là SQL tiêu chuẩn. Lưu ý rằng cú pháp này không sử dụng dấu phẩy.
Đây là ví dụ tương tự như ví dụ trước, ngoại trừ ở đây, chúng tôi đã thay đổi nó để sử dụng FROM
cú pháp:
SELECT SUBSTRING('Cats and dogs' FROM 6);
Kết quả:
and dogs
Vì vậy, chúng tôi nhận được cùng một kết quả.
Ví dụ 3 - Thêm độ dài cho chuỗi con
Bạn cũng có thể thêm độ dài:
SUBSTRING(str,pos,len)
Đây, len
là độ dài của chuỗi con cần trả về. Điều này cho phép chúng tôi trả về một chuỗi con có độ dài được chỉ định.
Dưới đây là một ví dụ về việc đó:
SELECT SUBSTRING('Cats and dogs', 6, 3);
Kết quả:
and
Vì vậy, trong trường hợp này, chúng tôi chọn chỉ trả lại 3 ký tự từ vị trí bắt đầu.
Ví dụ 4 - Sử dụng FOR
Cuối cùng, khi sử dụng FROM
, bạn cũng có thể thêm FOR
để cung cấp độ dài.
SUBSTRING(str FROM pos FOR len)
Và đây là ví dụ tương tự như trước, ngoại trừ ở đây chúng tôi sử dụng FROM
mệnh đề cũng như FOR
:
SELECT SUBSTRING('Cats and dogs' FROM 6 FOR 3);
Kết quả:
and
Vì vậy, như với ví dụ trước, điều này chọn 3 ký tự từ vị trí bắt đầu.
Ví dụ 5 - Đếm lùi
Bạn cũng có thể sử dụng giá trị âm cho vị trí bắt đầu. Trong trường hợp này, vị trí được tính ngược lại từ cuối chuỗi:
SELECT SUBSTRING('Cats and dogs', -6);
Kết quả:
d dogs
Ví dụ 6 - Hàm SUBSTR ()
Bạn cũng có thể sử dụng SUBSTR()
là từ đồng nghĩa với SUBSTRING()
. Vì vậy, bất kỳ ví dụ nào trước đây đều có thể được viết lại bằng SUBSTR()
thay vào đó.
Ví dụ:
SELECT SUBSTR('Cats and dogs', 6);
Kết quả:
and dogs
Ví dụ 7 - Hàm MID ()
Và còn một từ đồng nghĩa khác cho SUBSTRING()
- MID()
hàm số. Vì vậy, bất kỳ ví dụ nào trước đây đều có thể được viết lại bằng MID()
thay vào đó.
Ví dụ:
SELECT MID('Cats and dogs', 6);
Kết quả:
and dogs