Chuỗi con trong mysql với dấu phân cách

Hàm SUBSTRING_INDEX() được sử dụng để phân tách dữ liệu chuỗi được truy vấn truy xuất dựa trên một dấu phân cách cụ thể. Cách sử dụng chức năng này trong truy vấn CHỌN được thảo luận trong hướng dẫn này

Cú pháp của SUBSTRING_INDEX()

Hàm SUBSTRING_INDEX() nhận ba đối số và trả về một giá trị chuỗi con. Cú pháp của hàm SUBSTRING_INDEX() được cung cấp bên dưới

chuỗi SUBSTRING_INDEX(chuỗi, dấu phân cách, số đếm);

  • Đối số đầu tiên là giá trị chuỗi sẽ được chia
  • Đối số thứ hai là dấu phân cách sẽ được sử dụng để phân tách giá trị chuỗi
  • Đối số thứ ba xác định số lần xuất hiện của dấu phân cách. Nó có thể tích cực hoặc tiêu cực. Nếu giá trị đối số thứ ba là dương, thì giá trị chuỗi con sẽ được trả về từ bên trái. Nếu giá trị đối số thứ ba là âm, giá trị chuỗi con sẽ được trả về từ bên phải

Tách Chuỗi Sử Dụng Hàm SUBSTRING_INDEX()

Các cách sử dụng khác nhau của hàm SUBSTRING_INDEX() đã được trình bày trong phần này của hướng dẫn này

ví dụ 1. Tách chuỗi dựa trên giá trị đếm dương

Phần hướng dẫn này trình bày bốn cách sử dụng hàm SUBSTRING_INDEX() với giá trị đếm dương và dấu phân cách khác nhau

Chạy câu lệnh CHỌN sau sử dụng hàm SUBSTRING_INDEX() với giá trị đếm dương, 1 và khoảng trắng làm dấu phân cách. Chuỗi chính, 'Chào mừng bạn đến với LinuxHint', chứa ba từ. Vì vậy, từ đầu tiên của chuỗi sẽ được in ở đầu ra

SELECT SUBSTRING_INDEX ('Chào mừng bạn đến với LinuxHint', ' ', 1);

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trước đó

Chuỗi con trong mysql với dấu phân cách

Chạy câu lệnh SELECT sau sử dụng hàm SUBSTRING_INDEX() với giá trị đếm dương, 2 và ký tự, 'o' làm dấu phân cách. Chuỗi chính, 'Chào mừng bạn đến với LinuxHint' chứa ký tự, 'o' hai lần. Lần thứ hai 'o' xuất hiện trong từ thứ hai, 'to'. Vì vậy, đầu ra sẽ là 'Welcome t'

SELECT SUBSTRING_INDEX ('Chào mừng bạn đến với LinuxHint', 'o', 2);

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trên

Chuỗi con trong mysql với dấu phân cách

Chạy câu lệnh CHỌN sau sử dụng hàm SUBSTRING_INDEX() với giá trị đếm dương là 1 và chuỗi 'đến' làm dấu phân cách. Chuỗi chính, 'Chào mừng bạn đến với LinuxHint' chứa chuỗi, 'đến' một lần. Vì vậy, đầu ra sẽ là 'Chào mừng'

SELECT SUBSTRING_INDEX ('Chào mừng bạn đến với LinuxHint', 'to', 1);

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trước đó

Chuỗi con trong mysql với dấu phân cách

Chạy câu lệnh SELECT sau sử dụng hàm SUBSTRING_INDEX() với giá trị đếm dương 3 và chuỗi 'đến' làm dấu phân cách. Chuỗi chính, 'Chào mừng bạn đến với LinuxHint' chứa chuỗi, 'đến' chỉ một lần. Vì vậy, chuỗi chính sẽ được trả về trong đầu ra

SELECT SUBSTRING_INDEX ('Chào mừng bạn đến với LinuxHint', 'to', 3);

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trước đó

Chuỗi con trong mysql với dấu phân cách

ví dụ 2. Tách chuỗi dựa trên giá trị đếm âm

Phần hướng dẫn này trình bày ba cách sử dụng hàm SUBSTRING_INDEX() với giá trị đếm âm và dấu phân cách khác nhau đã được hiển thị trong phần hướng dẫn này

Chạy câu lệnh SELECT sau sử dụng hàm SUBSTRING_INDEX() với giá trị đếm âm, -1 và khoảng trắng làm dấu phân cách. Chuỗi chính, 'Chào mừng bạn đến với LinuxHint', chứa ba từ. Vì vậy, từ cuối cùng của chuỗi sẽ được in ở đầu ra cho giá trị âm

SELECT SUBSTRING_INDEX ('Chào mừng bạn đến với LinuxHint', ' ', -1);

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trước đó

Chuỗi con trong mysql với dấu phân cách

Chạy câu lệnh SELECT sau sử dụng hàm SUBSTRING_INDEX() với giá trị đếm âm -2 và ký tự 'e' làm dấu phân cách. Chuỗi chính, 'Chào mừng bạn đến với LinuxHint', chỉ chứa ký tự 'e' một lần. Vì vậy, đầu ra sẽ là 'lcome to LinuxHint'

SELECT SUBSTRING_INDEX ('Chào mừng bạn đến với LinuxHint', 'e', -2);

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trước đó

Chuỗi con trong mysql với dấu phân cách

Chạy câu lệnh CHỌN sau sử dụng hàm SUBSTRING_INDEX() với giá trị đếm âm, -2 và chuỗi, 'in' làm dấu phân cách. Chuỗi chính, ‘Welcome to LinuxHint’ chứa chuỗi, ‘in’ hai lần. Vì vậy, chuỗi con 'unHint' sẽ được trả về ở đầu ra

SELECT SUBSTRING_INDEX ('Chào mừng bạn đến với LinuxHint', 'in', -2);

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trước đó

Chuỗi con trong mysql với dấu phân cách

ví dụ 3. Tách giá trị chuỗi của bảng

Bạn phải tạo một bảng có dữ liệu trong cơ sở dữ liệu MySQL để kiểm tra hàm SUBSTRING_INDEX() cho dữ liệu bảng

Chạy truy vấn sau để tạo cơ sở dữ liệu có tên test_db

TẠO CƠ SỞ DỮ LIỆU test_db;

Chạy câu lệnh sau để sử dụng cơ sở dữ liệu test_db làm cơ sở dữ liệu hiện tại

SỬ DỤNG test_db;

Chạy truy vấn sau để tạo bảng khách hàng với bốn trường

TẠO BẢNG khách hàng (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(50),
contact_no VARCHAR(15));

Chạy truy vấn sau để chèn ba bản ghi vào bảng khách hàng

CHÈN VÀO `khách hàng` (`id`, `name`, `email`, `contact_no`) VALUES
('001', 'Mahmuda Ferdous', '[email protected]', '+8801928964534'),
('002', 'Zarin Chowdhury', '[email protected]', '+8801855342123'),
('003', 'Mahmudul Hasan', '[email protected]', '+8801728976587');

Chạy lệnh sau để đọc tất cả các bản ghi của bảng khách hàng

CHỌN * TỪ khách hàng;

Trường tên chứa tên và họ. Trường contact_no chứa số điện thoại di động có mã quốc gia. Có thể đọc tên và số điện thoại di động không có mã quốc gia từ bảng bằng hàm SUBSTRING_INDEX(). Trong truy vấn SELECT sau đây, tên sẽ được truy xuất bằng cách sử dụng dấu phân cách khoảng trắng và 1 làm giá trị đếm trong hàm SUBSTRING_INDEX() và số điện thoại di động không có mã quốc gia sẽ được truy xuất bằng cách sử dụng mã quốc gia làm dấu phân cách và

CHỌN
id , SUBSTRING_INDEX (name,' ',1) AS `First Name`, email, SUBSTRING_INDEX(contact_no,'+88',-1) AS Phone
FROM customers;

Đầu ra sau sẽ xuất hiện sau khi thực hiện câu lệnh trước đó

Chuỗi con trong mysql với dấu phân cách

Sự kết luận

Các cách sử dụng khác nhau của hàm SUBSTRING_INDEX() bằng cách sử dụng các giá trị đối số khác nhau đã được thảo luận trong hướng dẫn này bằng cách sử dụng nhiều ví dụ. Tôi hy vọng các ví dụ trong hướng dẫn này sẽ giúp người dùng MySQL biết cách sử dụng hàm SUBSTRING_INDEX() và áp dụng nó đúng cách trong truy vấn SELECT. Xem các bài viết khác về Linux Hint để biết thêm mẹo và hướng dẫn

Làm cách nào để tách chuỗi bằng dấu phân cách trong MySQL?

Cú pháp của SUBSTRING_INDEX(). Cú pháp của hàm SUBSTRING_INDEX() được cung cấp bên dưới. chuỗi SUBSTRING_INDEX(chuỗi, dấu phân cách, số đếm); Đối số đầu tiên là giá trị chuỗi sẽ được chia. Đối số thứ hai là dấu phân cách sẽ được sử dụng để phân tách giá trị chuỗi.

Làm cách nào để sử dụng dấu phân cách trong MySQL?

Khi viết câu lệnh SQL, chúng ta sử dụng dấu chấm phẩy để phân tách hai câu lệnh khác nhau như trong ví dụ bên dưới. Truy vấn. CHỌN * TỪ nhân viên; .

Làm cách nào để tách chuỗi bằng dấu phẩy trong MySQL?

Cách tách văn bản được phân tách bằng dấu phẩy (danh sách ID) trong thủ tục lưu trữ MySQL để sử dụng kết quả trong câu lệnh SQL "IN". CHỌN * TỪ bảng WHERE bảng. id IN (splitStringFunction(dữ liệu được phân tách bằng dấu phẩy, ',')); . mysql.

Làm cách nào để sử dụng SUBSTRING_INDEX trong MySQL?

Hàm MySQL SUBSTRING_INDEX() . returns a substring of a string before a specified number of delimiter occurs.