sql >> Database teknologi >  >> RDS >> Mysql

Uddrag en søgestreng i kontekst

Her er den SQL, du skal bruge:

SELECT
    id,
    title,
    substring(body,  
        case
             when locate('mysql', lower(body)) <= 20 then 1
             else locate('mysql', lower(body)) - 20
        end,
        case
            when locate('mysql', lower(body)) + 20 > length(body) then length(body)
            else locate('mysql', lower(body)) + 20
        end)
FROM content
WHERE lower(body) LIKE '%mysql%'
    OR title LIKE '%mysql%'
limit 8;

FYI:Testet og virker.



  1. Hvordan laver man en accent og ufølsom søgning i MediaWiki-databasen?

  2. SQL-kommandoer er ikke kompatible af H2

  3. mysql - Sådan håndteres forespørgselssøgning med specialtegn /(skråstreg frem) og \(skråstreg)

  4. Nyder mysql-opdateringsforespørgsler fra et indeks?