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

Pisahkan parameter sql pada koma

Anda dapat mencoba sesuatu seperti

--Split
DECLARE @textXML XML
DECLARE @data NVARCHAR(MAX), 
        @delimiter NVARCHAR(5)
        
SELECT  @data = 'Main Stream , Premium',
        @delimiter = ','
        
SELECT    @textXML = CAST('<d>' + REPLACE(@data, @delimiter, '</d><d>') + '</d>' AS XML)
SELECT  T.split.value('.', 'nvarchar(max)') AS data
FROM    @textXML.nodes('/d') T(split)

Anda bisa menyimpan ini dalam tabel sementara, atau menggunakannya dalam klausa IN.

Untuk komentar @Hoy

Anda dapat melihat nodes() Metode (Tipe Data xml)

Lihat juga Metode Tipe Data xml

Anda kemudian dapat menggunakannya sebagai

select * 
FROM    sales  
where   myCategory IN   (
                            SELECT  T.split.value('.', 'nvarchar(max)')
                            FROM    @textXML.nodes('/d') T(split)
                        )


  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 memilih data satu minggu terakhir dari tanggal hari ini

  2. Pesan Kesalahan Parser:Nama koneksi 'LocalSqlServer' tidak ditemukan dalam konfigurasi aplikasi atau string koneksi kosong

  3. Buka tautan di jendela baru di laporan kristal

  4. Sisipan massal item anak yang sangat diindeks (Sql Server 2008)

  5. Membuat tampilan readonly di Sql Server