sql >> Database teknologi >  >> RDS >> Sqlserver

SQL til at parse en nøgle-værdi-streng

Hvis du er i stand til at få dine data ind i formatet ét nøgle/værdi-par pr. række, så er meget af arbejdet gjort. Lad mig kalde det resultat t . Noget som dette kan hjælpe dig resten af ​​vejen:

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

Dette forudsætter, at id er tildelt sekventielt, som vist i dit eksempel.



  1. Oracle-tabel(er) data til INSERT-sætninger med JAVA

  2. Hvilken ORM skal jeg bruge til Node.js og MySQL?

  3. SQL - sikkert nedkastet BIGINT til INT

  4. Pandas to_sql fejler på dubleret primærnøgle