2016-06-02 10 views
0

extrahieren Ich habe keine Kontrolle darüber, wie diese Daten gespeichert werden (ich weiß, wie normalisierte Daten wäre besser für SQL), weil es über das WordPress GravityForms-Plugin gespeichert wird. Das Plugin verwendet ein serialisiertes Array, um die Frage-ID (Feld-ID), Frage-Label (Label) zu definieren. Mein Ziel ist es, diese drei Werte in folgendem Format zu extrahieren:Etiketten aus serialisierten Array mit SQL

field_id label 
1   1. I know my organization’s mission (what it is trying to accomplish). 
2   2. I know my organization’s vision (where it is trying to go in the future). 

Here is the serialized array.

Kann jemand geben Sie bitte ein spezielles Beispiel, wie diese Werte mit SQL parsen?

+0

Implementieren Sie entweder einen vollständigen Parser dieses serialisierten Formats in Ihrer Datenbank oder verwenden Sie Zeichenfolgenoperationen. –

+0

Können Sie bitte ein konkretes Beispiel nennen? – MaxPowers

Antwort

0

Ein spezifisches Beispiel, nein. Diese Art von Zeug ist komplex. Wenn Sie mit direkten json-formatierten Daten arbeiten, haben Sie hier mehrere Möglichkeiten, von denen keine einfach ist.

Sie können Ihren eigenen Parser erstellen. Jawohl.

Sie können alles upgraden, was Sie zu der gerade veröffentlichten SQL 2016 haben, und hoffen, dass die integrierten json-Tools das tun, was Sie brauchen (ich habe etwas über sie gehört, weiß aber nicht, wie ihre endgültige Form ist) Wie auch, alle Datenbank-Server im Moment aktualisieren, oh sicher.)

Phil Factor über SimpleTalk baute einen JSON T-SQL-Parser (https://www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/). Es sieht schrecklich aus und kann schlecht laufen, aber es würde das Notwendige tun.

Begraben in den Kommentaren dieses Artikels sind Links zu einem CLR-Tool, das John Galt baute (um https://github.com/jgcoding/J-SQL). Ich habe das erfolgreich benutzt, obwohl ich nichts zu komplex gemacht habe. (Wenn Sie JSON ist relativ einfach, könnte dies den Trick tun.)

Es gibt andere JSON Parser für SQL da draußen, einige frei, einige zum Verkauf. Das Entscheidende wäre, dass Sie nicht versuchen, Ihre eigenen zu schreiben, sondern die Lösung von jemand anderem zu finden und zu verwenden, die Ihren Anforderungen entspricht.

Verwandte Themen