sql >> Database >  >> RDS >> Sqlserver

SQL om een ​​Key-Value String te ontleden

Als u uw gegevens in het ene sleutel/waarde-paar per rij-indeling kunt krijgen, dan is veel van het werk gedaan. Laat me dat resultaat t . noemen . Zoiets kan je misschien de rest van de weg helpen:

select max(case when LEFT(data, 4) = 'key1' then SUBSTRING(data, 6, len(data)) end) as key1,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key2,
       MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key3
from t
group by (id - 1)/3

Dit veronderstelt dat de id wordt opeenvolgend toegewezen, zoals in uw voorbeeld.



  1. Hoe lijst buitenlandse sleutels op te sommen

  2. K-d tree indexeren?

  3. SQLAlchemy laadt graag meerdere relaties

  4. php mysql sorteren op datum (recent)