sql >> Databasteknik >  >> RDS >> Sqlserver

Lagrad procedur för att analysera en sträng

En möjlig lösning är att använda XML

DECLARE @text VARCHAR(1000) 
        ,@xml xml

SELECT @text = 'City=Hyderabad | Mobile=48629387429 | Role=User | Name =Praveen'

SELECT @text = REPLACE(@text,'|','"')
    ,@text = REPLACE(@text,'=','="')
    ,@text = '<row ' + @text + '"/>'

SELECT @xml = CAST(@text AS XML)

select 
    line.col.value('@Name[1]', 'varchar(100)') AS Name
    ,line.col.value('@City[1]', 'varchar(100)') AS City
    ,line.col.value('@Mobile[1]', 'varchar(100)') AS Mobile 
    ,line.col.value('@Role[1]', 'varchar(100)') AS Role 
FROM @xml.nodes('/row') AS line(col)


  1. Ange distinkt sekvens per tabell i Hibernate på underklasser

  2. Optimera SSIS-paketet för miljontals rader med Ordna efter / sortera i SQL-kommandot och Merge Join

  3. WCF, MySQL och Transaction

  4. Tabell kan inte ha 2-fälts primärnyckel med auto_increment