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

Cara memisahkan (membagi) string dengan koma dalam prosedur tersimpan SQL Server

Jika Anda meneruskan string yang dipisahkan koma (pemisah apa pun) ke prosedur penyimpanan dan digunakan dalam kueri, maka Anda harus meludahkan string itu dan kemudian Anda akan menggunakannya.

Di bawah ini memiliki contoh:

DECLARE @str VARCHAR(500) = 'monday,tuesday,thursday'
CREATE TABLE #Temp (tDay VARCHAR(100))
WHILE LEN(@str) > 0
BEGIN
    DECLARE @TDay VARCHAR(100)
    IF CHARINDEX(',',@str) > 0
        SET  @TDay = SUBSTRING(@str,0,CHARINDEX(',',@str))
    ELSE
        BEGIN
        SET  @TDay = @str
        SET @str = ''
        END
  INSERT INTO  #Temp VALUES (@TDay)
 SET @str = REPLACE(@str,@TDay + ',' , '')
 END

 SELECT * 
 FROM tblx 
 WHERE days IN (SELECT tDay FROM #Temp)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kerangka Entitas:Metode Database.ExecuteSqlCommand

  2. Memilih N baris di SQL Server

  3. Mengatur DefaultDataPath dan DefaultLogPath pada Deploy di Proyek Database VS2010

  4. Cara Mengetahui Cara Menangani Korupsi Basis Data di SQL Server

  5. SQL Pivot dengan banyak kolom