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

Làm cách nào để truy xuất các giá trị được lưu trữ trong mảng JSON trong chính truy vấn MySQL?

REGEXP hàm chỉ trả về 0 hoặc 1. Bạn sẽ phải sử dụng các hàm chuỗi khác.

Hãy thử điều này:substr(misc,locate('group_id',misc)+11,5) as Misc . Nhưng điều đó giả định rằng group_id luôn có 5 ký tự.

Vì vậy, điều này tốt hơn:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Đây là một thủ thuật để cho thấy nó hoạt động: http://sqlfiddle.com/#!2/ ea02e / 15

CHỈNH SỬA Bạn có thể loại bỏ +3 số ma thuật bằng cách thêm dấu ngoặc kép và dấu hai chấm trong các chuỗi như sau:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kết nối mariadb J Aurora Fast chuyển đổi dự phòng áp dụng

  2. 'TÙY CHỌN SQL_SELECT_LIMIT =DEFAULT'

  3. Chèn ngày hiện tại ở định dạng datetime mySQL

  4. 2 hộp nhập tự động điền / gợi ý sử dụng jQuery hoặc Ajax với hộp thứ hai dựa trên các lựa chọn đầu tiên với nhiều mục

  5. Sử dụng như ký tự đại diện trong câu lệnh đã chuẩn bị