Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tương đương với boom () để làm việc với chuỗi trong MySQL

MYSQL không có explode() như hàm được tích hợp sẵn. Nhưng bạn có thể dễ dàng thêm hàm tương tự vào DB của mình và sau đó sử dụng nó từ các truy vấn php. Hàm đó sẽ giống như sau:

CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),
       CHAR_LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1),
       delim, '');

Cách sử dụng:

SELECT SPLIT_STRING('apple, pear, melon', ',', 1)

Ví dụ trên sẽ trả về apple . Tôi nghĩ rằng sẽ không thể trả về mảng trong MySQL vì vậy bạn phải chỉ định sự xuất hiện nào để trả về một cách rõ ràng trong pos . Hãy cho tôi biết nếu bạn sử dụng thành công.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để xuất kết quả truy vấn MySQL ở định dạng CSV?

  2. Tại sao tôi nhận được lỗi Không thể chuyển tham số 2 do tham chiếu khi tôi đang sử dụng bindParam với một giá trị không đổi?

  3. MySQL SELECT WHERE datetime khớp với ngày (và không nhất thiết phải là thời gian)

  4. CONVERT_TZ - Cách thay đổi múi giờ MySQL trong truy vấn

  5. Cách đặt lại AUTO_INCREMENT trong MySQL