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

MySQL - tìm các từ bao quanh từ khóa được tìm kiếm

Tôi đã có một vở kịch và tôi có thể cung cấp cho bạn một nửa giải pháp trong mysql thuần túy.

Bạn có thể nhận được chuỗi ở hai bên của từ bạn đang sử dụng sau khi sử dụng nó. Chỉ là không biết cách lấy từ thay vì toàn bộ chuỗi con. Hy vọng rằng nó hữu ích.

select case when (select w.t regexp concat('[[:<:]]', w.v)) = 1 
    then substr(w.t, 1, locate(w.v, w.t)-1) else null end as 'left_word',
       w.v as word,
       case when (select w.t regexp concat(w.v, '[[:>:]]')) = 1 
    then substr(w.t, locate(w.v, w.t)+length(w.v)) else null end as 'right_word'
    from (
        select "Lorem ipsum dolor sit amet consectetur adipiscing elit." as t, "amet" as v
    ) as w;

select case when (select w.t regexp concat('[[:<:]]', w.v)) = 1 
    then substr(w.t, 1, locate(w.v, w.t)-1) else null end as 'left_word',
       w.v as word,
       case when (select w.t regexp concat(w.v, '[[:>:]]')) = 1 
    then substr(w.t, locate(w.v, w.t)+length(w.v)) else null end as 'right_word'
    from (
        select "Lorem ipsum dolor sit amet consectetur adipiscing elit." as t, "elit." as v
    ) as w;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL xử lý chèn đồng thời như thế nào?

  2. Mật khẩu của bạn không đáp ứng các yêu cầu chính sách hiện tại

  3. Cách tạo giá trị ngẫu nhiên duy nhất cho mỗi người dùng trong laravel và thêm nó vào cơ sở dữ liệu

  4. Sự khác biệt giữa THAM GIA BÊN TRONG, THAM GIA TRÁI, THAM GIA PHẢI và THAM GIA ĐẦY ĐỦ?

  5. Vấn đề hiệu suất và giải pháp mysql order by rand ()