Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL - znajdowanie słów otaczających wyszukiwane słowo kluczowe

Miałem zabawę i mogę dać ci pół rozwiązania w czystym mysql.

Możesz uzyskać ciąg znaków po obu stronach słowa, po użyciu tego. Po prostu nie wiem, jak uzyskać słowo, a nie cały podciąg. Mam nadzieję, że to pomocne.

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 ZAMÓW PRZEZ IN()

  2. Pymysql Cursor.fetchall() / Fetchone() Zwraca Brak

  3. C# Zbyt wiele połączeń w MySQL

  4. golang gorm Uzyskaj dostęp do podstawowego zapytania mysql

  5. Znajdź drugą najwyższą pensję w najlepszy możliwy sposób