KWD
にフルテキストインデックスを作成することで、これを簡単に解決できると思います。 桁。次に、CONTAINS
を使用できます。 フレーズを検索するためのクエリ。 FULL TEXTインデックスは句読点を処理し、コンマを自動的に無視します。
-- 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"')
複数の単語を検索するには(mobile phone
など) あなたの場合)引用されたフレーズを使用してください:
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "mobile phone"')
以下にコメントされているように、引用されたフレーズは、すべての検索で重要です。検索語が「タブレット作業中」で、KWD値がwoman,girl,Digital Tablet,working,sitting,online
の場合
単一の-
には特殊なケースがあります 検索語。 NOTは、CONTAINSの最初の用語として使用することはできません。したがって、次のようなクエリを使用する必要があります:
-- If search text is = -Working the query will be
SELECT AS_ID FROM tbl_main
WHERE NOT CONTAINS(KWD, '"working"')