Myslím, že to můžete snadno vyřešit vytvořením FULL TEXTOVÉHO INDEXU na vašem KWD
sloupec. Pak můžete použít CONTAINS
dotaz pro vyhledávání frází. FULL TEXT index se stará o interpunkci a automaticky ignoruje čárky.
-- If search text is = Man,Businessman then the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"Man" AND "Businessman"')
-- If search text is = Man,-Businessman then the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"Man" AND NOT "Businessman"')
-- If search text is = woman,girl,-Working the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "girl" AND NOT "working"')
Chcete-li vyhledat více slov (např. mobile phone
ve vašem případě) použijte citované fráze:
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "mobile phone"')
Jak je uvedeno níže, citované fráze jsou důležité při všech vyhledáváních, aby se předešlo špatným vyhledáváním v případě např. když je hledaný výraz "tablet working" a hodnota KWD je woman,girl,Digital Tablet,working,sitting,online
Pro jeden -
existuje zvláštní případ hledaný výraz. NOT nelze použít jako první termín v CONTAINS. Proto by měl být použit dotaz jako tento:
-- If search text is = -Working the query will be
SELECT AS_ID FROM tbl_main
WHERE NOT CONTAINS(KWD, '"working"')