SSMS
 sql >> Teknologi Basis Data >  >> Database Tools >> SSMS

cara memilih baris data dari bidang nilai yang dipisahkan koma

Tidak pernah baik menggunakan nilai yang dipisahkan koma untuk disimpan dalam database jika memungkinkan coba buat tabel terpisah untuk menyimpannya karena kemungkinan besar ini adalah 1:n hubungan.

Jika ini tidak memungkinkan maka ada beberapa cara berikut yang dapat Anda lakukan, Jika jumlah nilai Anda yang akan dicocokkan akan tetap sama, maka Anda mungkin ingin melakukan rangkaian Like pernyataan bersama dengan OR/AND tergantung pada kebutuhan Anda.

Mis.-

WHERE
    Media LIKE '%21%'
    OR Media LIKE '%30%'
    OR Media LIKE '%40%' 

Namun kueri di atas kemungkinan akan menangkap semua nilai yang berisi 21 jadi meskipun kolom dengan nilai seperti 1210 ,210 juga akan dikembalikan. Untuk mengatasinya, Anda dapat melakukan trik berikut yang menghambat kinerja karena menggunakan fungsi di where klausa dan itu bertentangan dengan pembuatan Seargable kueri. Tapi ini dia,

--Declare valueSearch variable first to value to match for you can do this for multiple values using multiple variables.

Declare @valueSearch = '21'

-- Then do the matching in where clause
WHERE 
    (',' + RTRIM(Media) + ',') LIKE '%,' + @valueSearch + ',%'

Jika jumlah nilai yang akan dicocokkan akan berubah maka Anda mungkin ingin melihat ke Indeks Teks Lengkap dan Anda harus memikirkan hal yang sama. Dan jika Anda memutuskan untuk menggunakan ini setelah Fulltext Index Anda dapat melakukan seperti di bawah ini untuk mendapatkan apa yang Anda inginkan,

Mis.-

WHERE 
     CONTAINS(Media, '"21" OR "30" OR "40"')


  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. 'DATE' bukan nama fungsi bawaan yang dikenali

  2. Studio manajemen Sql Server cara mengkapitalisasi otomatis

  3. Objek SMO SSMS:Dapatkan hasil kueri

  4. Menyimpan hasil dengan header di Sql Server Management Studio

  5. Tidak ada dialog UI di MS Azure / SQL Server Management Studio