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

एक दृश्य के लिए स्ट्रिंग को कॉलम में कैसे विभाजित करें?

यहाँ एक त्वरित, आसान तरीका है:

DECLARE @T TABLE(full_location_id varchar(100));

INSERT INTO @T 
VALUES  ('A1-BF-35-B1'),
        ('AR-B3');

WITH CTE AS
(
    SELECT  full_location_id,
            LEN(full_location_id)-LEN(REPLACE(full_location_id,'-','')) N
    FROM @T
)
SELECT  full_location_id,
        PARSENAME(REPLACE(full_location_id,'-','.'),N+1),
        PARSENAME(REPLACE(full_location_id,'-','.'),N),
        PARSENAME(REPLACE(full_location_id,'-','.'),N-1),
        PARSENAME(REPLACE(full_location_id,'-','.'),N-2)
FROM CTE

परिणाम:

╔══════════════════╦══════╦══════╦══════╦══════╗
║ full_location_id ║ Col1 ║ Col2 ║ Col3 ║ Col4 ║
╠══════════════════╬══════╬══════╬══════╬══════╣
║ A1-BF-35-B1      ║ A1   ║ BF   ║ 35   ║ B1   ║
║ AR-B3            ║ AR   ║ B3   ║ NULL ║ NULL ║
╚══════════════════╩══════╩══════╩══════╩══════╝

और यहां एक sqlfiddle है एक डेमो के साथ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टी-एसक्यूएल:टेबल से संबंधित संग्रहित प्रक्रियाओं को चक्रीय रूप से दिखाएं

  2. T-SQL का उपयोग करके SQL सर्वर में लिंक किए गए सर्वरों की सूची वापस करने के 2 तरीके

  3. सीटीई रिटर्निंग एरर

  4. SQL सर्वर का उपयोग करके गैर-रिक्त स्तंभों का चयन करें

  5. अपने डेटाबेस प्रदर्शन निगरानी सेटअप की ग्रेडिंग