sql >> Databasteknik >  >> RDS >> Mysql

MySQL - hitta ord som omger det sökta nyckelordet

Jag har haft en pjäs och jag kan ge dig en halv lösning i ren mysql.

Du kan få strängen på vardera sidan av ordet du är efter att ha använt detta. Vet bara inte hur man får ordet snarare än hela delsträngen. Förhoppningsvis är det till hjälp.

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. django.db.utils.OperationalError:(2013, Förlorade anslutningen till MySQL-servern vid 'handskakning:läser initialt kommunikationspaket', systemfel:0)

  2. Hur justify_days() fungerar i PostgreSQL

  3. Optimera MySQL för ALTER TABLE av InnoDB

  4. Finns det ett Spring Batch 3-uppgraderingsskript för MySQL?