Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pencarian SQL Disesuaikan dengan karakter khusus

Saya pikir Anda dapat dengan mudah menyelesaikan ini dengan membuat INDEKS TEKS LENGKAP di KWD . Anda kolom. Kemudian Anda dapat menggunakan CONTAINS query untuk mencari frase. Indeks FULL TEXT menangani tanda baca dan mengabaikan koma secara otomatis.

-- 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"')

Untuk mencari beberapa kata (seperti mobile phone dalam kasus Anda) gunakan frasa yang dikutip:

SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "mobile phone"')

Seperti yang dikomentari di bawah, frasa yang dikutip penting dalam semua pencarian untuk menghindari pencarian yang buruk dalam kasus mis. ketika istilah penelusuran adalah "tablet berfungsi" dan nilai KWD adalah woman,girl,Digital Tablet,working,sitting,online

Ada kasus khusus untuk satu - istilah pencarian. NOT tidak dapat digunakan sebagai istilah pertama dalam CONTAIN. Oleh karena itu, kueri seperti ini harus digunakan:

-- 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. Bagaimana cara memeriksa apakah ada kolom di tabel SQL Server?

  2. Ubah Mode Suspect Database SQL ke Mode Normal Dengan Query

  3. Mengubah DB sql-server dari tabular ke multidimensi

  4. TSQL Bulatkan angka desimal

  5. SqlServer:Login gagal untuk pengguna