Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर संग्रहीत कार्यविधि में अल्पविराम से स्ट्रिंग को अलग (विभाजित) कैसे करें

यदि आप प्रक्रिया को संग्रहीत करने और क्वेरी में उपयोग करने के लिए अल्पविराम से अलग (कोई विभाजक) स्ट्रिंग पास करते हैं तो उस स्ट्रिंग को थूकने की आवश्यकता होगी और फिर आप इसका उपयोग करेंगे।

नीचे उदाहरण है:

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. Laravel . से संग्रहित प्रक्रिया को कैसे निष्पादित करें

  2. प्राथमिक कुंजी के रूप में GUID का उपयोग करने के लिए, विशेष रूप से प्रदर्शन के संबंध में सर्वोत्तम अभ्यास क्या हैं?

  3. SQL सर्वर डेटाबेस आकार का चयन करें

  4. SQL सर्वर:मैं एकाधिक पंक्ति मानों को अलग-अलग कॉलम में कैसे समूहित कर सकता हूं?

  5. SQL सर्वर 2005 कैस्केडिंग हटाएं