Làm cách nào để tách chuỗi bằng dấu phẩy trong MySQL?
Đối với điều này, bạn có thể sử dụng substring_index() trong MySQL. Hãy để chúng tôi tạo một bảng - Show Thí dụmysql> create table demo79 -> ( -> fullname varchar(50) -> ); Query OK, 0 rows affected (0.64 Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh chèn - Thí dụmysql> insert into demo79 values("John,Smith"); Query OK, 1 row affected (0.09 mysql> insert into demo79 values("David,Miller"); Query OK, 1 row affected (0.11 mysql> insert into demo79 values("Chris,Brown"); Query OK, 1 row affected (0.07 Hiển thị các bản ghi từ bảng bằng câu lệnh select - Thí dụmysql> select *from demo79; Điều này sẽ tạo ra đầu ra sau - đầu ra+--------------+ | fullname | Sau đây là truy vấn để tách một cột thành 2 cột bằng cách sử dụng dấu phẩy làm dấu phân tách - Thí dụmysql> select -> fullname, -> substring_index(fullname, ',', 1) First_Name, -> substring_index(fullname, ',', -1) Last_Name -> from demo79; Điều này sẽ tạo ra đầu ra sau - đầu ra
Đặt chuỗi được phân tách bằng dấu phẩy trong IN() như trong cú pháp bên dưới select *from yourTableName where yourColumnName IN('yourCommaSeparatedValue'); Trước tiên chúng ta hãy tạo một bảng - mysql> create table DemoTable1314 -> ( -> Number varchar(100) -> ); Query OK, 0 rows affected (0.53 sec) Chèn một số bản ghi vào bảng bằng lệnh chèn - ________số 8_______Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select - mysql> select *from DemoTable1314; đầu ra+----------+ | Number | +----------+ | 45,67,89 | | 10,20,50 | | 90,56,45 | +----------+ 3 rows in set (0.00 sec) Sau đây là truy vấn sử dụng chuỗi được phân tách bằng dấu phẩy trong MySQL `IN()` mysql> select *from DemoTable1314 where Number IN('10,20,50'); đầu ra+----------+ | Number | +----------+ | 10,20,50 | +----------+ 1 row in set (0.02 sec) Hàm 6 quét nguồn chuỗi để tìm chuỗi dấu phân cách, sau đó trích xuất chuỗi dựa trên số lần xuất hiện của dấu phân cách mà bạn đã chuyển làm tham số thứ baKhi bạn truyền một số âm, thì hàm sẽ duyệt chuỗi từ cuối thay vì từ đầu chuỗi Hãy xem một ví dụ khác với dữ liệu bảng MySQL. Giả sử bạn có một bảng 1 với dữ liệu sau
Bạn có thể chia các chuỗi trong cột 2 ở trên thành 3 và 4 bằng cách sử dụng hàm 5 như sau
Truy vấn SQL ở trên sẽ trả về tập kết quả sau
Hàm 6 có thể được gọi là tham số đầu tiên của lệnh gọi 6 khác để bạn có thể trích xuất một phần của chuỗi nằm ở giữa các dấu phân cáchGiả sử học sinh của bạn có tên đệm như sau
Lúc đầu, có vẻ như việc gọi 6 và chuyển số 9 làm tham số thứ ba có thể hoạt độngNhưng truyền số 9 thì hàm sẽ lấy ra cả họ và tên đệm như hình bên dưới
Để chỉ trích xuất tên đệm, bạn cần gọi hàm 5 hai lần, với lần gọi thứ hai là tham số đầu tiên của hàmLệnh gọi hàm bên trong phải giống như trên, trong khi lệnh gọi bên ngoài sẽ trích xuất chuỗi bằng cách sử dụng 2 làm tham số thứ ba
Bây giờ tên đệm sẽ được trích xuất chính xác như hình bên dưới 0Truy vấn SQL hoàn chỉnh bên dưới 1Sẽ tạo ra tập kết quả sau 2Bây giờ bạn đã học cách sử dụng hàm 5 để tách một chuỗiTiếp theo, hãy xem cách sử dụng thủ tục được lưu trữ để tách một chuỗi bằng một dấu phân cách cụ thể Chuỗi phân tách MySQL với một thủ tục được lưu trữBạn cũng có thể tách một chuỗi trong MySQL bằng cách sử dụng thủ tục được lưu trữ Bạn cần tạo quy trình sau trong cơ sở dữ liệu của mình 3Thủ tục 4 ở trên chấp nhận hai đối số
Đầu tiên, thủ tục sẽ tạo một bảng tạm thời để lưu trữ từng phần của chuỗi cho đến vị trí dấu phân cách. Sau đó, một vòng lặp 7 sẽ được thực hiện miễn là tìm thấy 6 trong vòng lặp 5Vòng lặp sẽ thêm các đoạn của chuỗi vào bảng 0Sau khi tất cả các phần của chuỗi được thêm vào bảng, truy vấn 1 sẽ truy xuất các hàng cho chuỗiDưới đây là một số kết quả của việc chạy thủ tục được lưu trữ 4Và đó là cách bạn có thể tách chuỗi bằng thủ tục lưu trữ MySQL Nếu bạn đang phát triển một dự án ứng dụng web, tốt hơn hết là để ngôn ngữ lập trình xử lý phần phụ trợ của ứng dụng của bạn phân tách chuỗi thay vì sử dụng các truy vấn MySQL Ví dụ, JavaScript có phương thức 2 cho phép bạn tách một 3 thành một 4công thức mã JavaScript. tách chuỗi thành mảng Các ngôn ngữ như JavaScript và PHP có nhiều hàm có thể giúp bạn thao tác các giá trị chuỗi với độ chính xác cao hơn Làm cách nào để tách chuỗi bằng dấu phẩy trong MySQL?MySQL có một hàm chuyên dụng FIND_IN_SET() trả về chỉ mục trường nếu giá trị được tìm thấy trong một chuỗi chứa các giá trị được phân tách bằng dấu phẩy . Ví dụ: câu lệnh sau trả về chỉ mục dựa trên một giá trị C trong chuỗi A,B,C,D. Nếu không tìm thấy giá trị đã cho, hàm FIND_IN_SET() trả về 0.
Làm cách nào để tách một chuỗi được phân tách trong MySQL?Trong MySQL, chúng tôi sử dụng SUBSTRING_INDEX() để tách chuỗi. Nó thường bao gồm ba đối số tôi. e. , chuỗi, dấu phân cách và vị trí. Giá trị chuỗi sẽ được phân chia dựa trên vị trí. |