Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Персонализирано търсене със специални знаци

Мисля, че можете лесно да разрешите това, като създадете ИНДЕКС НА ПЪЛЕН ТЕКСТ на вашия KWD колона. След това можете да използвате CONTAINS заявка за търсене на фрази. Индексът ПЪЛЕН ТЕКСТ се грижи за пунктуацията и автоматично игнорира запетаите.

-- 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

Има специален случай за един - термин за търсене. НЕ може да се използва като първи термин в СЪДЪРЖА. Следователно трябва да се използва подобна заявка:

-- If search text is = -Working  the query will be
SELECT AS_ID FROM tbl_main
WHERE NOT CONTAINS(KWD, '"working"')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка за верига родител-дете

  2. Какъв е низът за sql връзка, който трябва да използвам за достъп до localhost\SQLEXPRESS с удостоверяване на Windows или SQL удостоверяване?

  3. С ПРОВЕРКА НА ДОБАВЯНЕ НА ОГРАНИЧЕНИЕ, последвано от ПРОВЕРКА НА ОГРАНИЧЕНИЕ спрямо ДОБАВЯНЕ НА ОГРАНИЧЕНИЕ

  4. Проверете дали файл съществува или не в sql сървър?

  5. Създайте временна таблица с динамичен sql в SQL Server 2008