Hàm INSTR() của MySQL

Ham Instr Cua Mysql



Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng hàm MySQL INSTR() để xác định vị trí xuất hiện đầu tiên của một chuỗi con đã cho.

Hàm INSTR() của MySQL

Sử dụng hàm instr(), chúng ta có thể cung cấp một chuỗi và một chuỗi con. Hàm sẽ xác định xem chuỗi con có tồn tại trong chuỗi nguồn hay không. Nếu chuỗi con tồn tại, hàm sẽ trả về vị trí xuất hiện đầu tiên của chuỗi con trong chuỗi nguồn.

Nếu chuỗi con không tồn tại trong chuỗi nguồn, hàm sẽ trả về 0.







Phần sau minh họa cú pháp của hàm instr():



INSTR(src_string, sub_string);

Hàm chấp nhận hai tham số chính:



  1. src_string đề cập đến chuỗi nguồn mà bạn muốn tìm kiếm.
  2. Sub_string xác định chuỗi con mà bạn đang tìm kiếm.

Bạn nên nhớ rằng hàm instr() không phân biệt chữ hoa chữ thường. Do đó, hàm sẽ chỉ định vị các mẫu phù hợp mà không quan tâm đến cách viết hoa của ký tự,





Để thực hiện tìm kiếm phân biệt chữ hoa chữ thường, bạn có thể sử dụng các công cụ khác, chẳng hạn như toán tử nhị phân.

Ví dụ Chức năng Sử dụng

Các ví dụ sau minh họa cách chúng ta có thể sử dụng hàm instr() để tìm kiếm một chuỗi con cụ thể.



CHỌN INSTR('MySQL là một công cụ cơ sở dữ liệu tuyệt vời', 'cơ sở dữ liệu') làm vị trí;

Ví dụ trên sẽ trả về vị trí bắt đầu của chuỗi “cơ sở dữ liệu” từ chuỗi nguồn. Trong trường hợp này, vị trí của chuỗi cơ sở dữ liệu là 21 như thể hiện trong kết quả bên dưới:

tư thế|

---+

21|

ví dụ 2

Chúng ta có thể sử dụng các hàm Lower() hoặc Upper để chuyển đổi một chuỗi thành chữ thường hoặc chữ hoa. Điều này có thể giúp chúng ta khắc phục bản chất phân biệt chữ hoa chữ thường của hàm.

Ví dụ:

SELECT INSTR(lower('MySQL là một công cụ cơ sở dữ liệu tuyệt vời'), Lower('DATABASE')) as pos;

Kết quả:

tư thế|

---+

21|

Điều này sẽ trả về một giá trị tương tự như ví dụ đầu tiên, vì chuỗi nguồn và chuỗi con được chuyển đổi thành chữ thường trước thao tác tìm kiếm.

ví dụ 3

Chúng ta cũng có thể sử dụng hàm instr() với một cột trong bảng, như thể hiện trong cú pháp bên dưới.

CHỌN INSTR(tên_cột, 'chuỗi con')

TỪ tên_bảng;

Ví dụ:

TẠO blog BẢNG (

id INT KHÔNG NULL AUTO_INCREMENT KHÓA CHÍNH,

tiêu đề VARCHAR(255) NOT NULL,

nội dung VĂN BẢN KHÔNG NULL,

date_posted NGÀY KHÔNG NULL,

tác giả VARCHAR(255) NOT NULL

);

Chèn một số dữ liệu:

CHÈN VÀO blog (tiêu đề, nội dung, ngày_đăng, tác giả)

VALUES ('Bài đăng blog đầu tiên của tôi', 'Đây là nội dung của bài đăng blog đầu tiên của tôi.', '2022-12-09', 'Jane Doe');

CHÈN VÀO blog (tiêu đề, nội dung, ngày_đăng, tác giả)

VALUES ('Bài đăng blog thứ hai của tôi', 'Đây là nội dung của bài đăng blog thứ hai của tôi.', '2022-12-10', 'Jane Doe');

CHÈN VÀO blog (tiêu đề, nội dung, ngày_đăng, tác giả)

VALUES ('Bài đăng blog thứ ba của tôi', 'Đây là nội dung của bài đăng blog thứ ba của tôi.', '2022-12-11', 'Jane Doe');

chọn * từ blog;

Bảng kết quả:

Chúng ta có thể sử dụng hàm instr() để lấy vị trí của chuỗi con ‘blog’ trong cột nội dung như hình:

chọn tiêu đề, nội dung (nội dung, 'bài đăng') từ blog;

Kết quả:

Phần kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng hàm INSTR() trong MySQL để tìm vị trí của một chuỗi con trong một chuỗi. Hàm phân biệt chữ hoa chữ thường. Do đó, bạn có thể cần sử dụng các hàm như Lower và Upper để chuyển đổi các chuỗi tìm kiếm thành các trường hợp mong muốn của mình.