2012-06-12 6 views
11

Ich habe eine Datenbank in SQL Server 2008 und eine bestimmte Tabelle hat Informationen in Feldern als JSON-codierte Arrays gespeichert. Ich frage mich, ob es einen SQL-basierten Ansatz gibt, um bestimmte Werte in diesem JSON-Feld auszuwählen?Können Sie SQL zum Auswählen von Werten aus einem JSON-Array verwenden?

Ich kann natürlich nur das Feld auswählen und die Informationen selbst analysieren, aber ich versuche, das zu vermeiden, wenn überhaupt möglich.

Vielen Dank im Voraus!

Antwort

5

Es gibt nichts nativ, aber die erste Antwort auf die Folge Frage verweist auf einen Artikel über das Parsen JSON-Objekte in Tsql

Parse JSON in TSQL

Als Referenz ist der Artikel von Interesse hier:

http://www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/

+0

Wow, der Typ, der diesen Artikel schrieb, verdient unseren Respekt! @ tbone14, kann dies Ihre Lösung sein, wenn Sie der Datenbank benutzerdefinierte Funktionen hinzufügen können. – bfavaretto

+0

@bfavaretto: Sein gutes Zeug ist es nicht. Sogar gbn mag es! –

+1

Es gibt [native Unterstützung] (https://msdn.microsoft.com/en-us/library/dn921900.aspx) ab SQL Server 2016. – GSerg

2

Nein (Nun, es gibt Teilzeichenabgleich, aber das wäre langsam und fehleranfällig). Wenn Sie etwas speichern, das Sie mit SQL filtern möchten, verwenden Sie JSON nicht, sondern verwenden Sie stattdessen separate Spalten/Tabellen.

+0

Ich habe keine Kontrolle über die Datenbankstruktur oder wie Informationen gespeichert werden. Ich bin nur der Integrator -_- – tbone14

Verwandte Themen