Új hozzászólás Aktív témák

  • tm5
    tag

    Sziasztok!

    MS SQL Serverben kellene írnom egy olyan lekérdezést, ami több oszlopra csinál free-text szűrést, nem teljes egyezést keresek, hanem csak szó elejit. Kb ezt kellene összehoznom:

    SELECT * FROM table
    WHERE (col1 LIKE 'str1%' or col1 LIKE 'str2%') or
    (col2 LIKE 'str1%' or col2 LIKE 'str2%')

    A probléma, hogy nem tudom a search-filter hány szóból áll. A CONTAINS jónak tűnne, mert ott meg tudom adni az összes szót OR-ral, de ahhoz full text indexing kellene, és kicsit overkillnek érzem, mivel ezek az oszlopok csak egy nevet tárolnak, tehát nem egy hosszú szöveget. A search-filtert átadhatom egyben is, hogy sql-ben csináljak valamit, vagy akár mehet user defined table type-ként.

    Tudtok javasolni valalmi megoldást a CONTAINS-en kívül?

    És biztos az, hogy ha több szóból áll a search filter akkor minden egyes szót a szöveg elején kell keresni?
    Mert ha nem akkor csak cseréld le a space-eket százalékra +1 a végére és mehet:
    "ezeket a szavakat keresem" - > "ezeket%a%szavakat%keresem%"

Új hozzászólás Aktív témák