sql >> Databáze >  >> RDS >> Mysql

MySQL - hledání slov, která obklopují hledané klíčové slovo

Hrál jsem a mohu vám poskytnout poloviční řešení v čistém mysql.

Po použití můžete získat řetězec na obou stranách slova, které hledáte. Jen nevím, jak získat slovo a ne celý podřetězec. Doufám, že to bude užitečné.

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. Jak ochráním své fórum před spamem?

  2. php kategorie, strom podkategorií

  3. jak se připojit k databázi na jiném serveru

  4. InnoDB:Nelze uzamknout chyba ./ibdata1:35