.keyvalue() (SQL/JSON Path Item Methode)


BigQueryDb2 (LUW)DuckDBH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite2013201520172019202120232025⚡ 3.9.1 - 3.51.0a⊘ 3.5.7 - 3.8.11⊘ 2008R2 - 2025✓ 12 - 18⊘ 9.4 - 11⚡ 23.26.1b⊘ 18c - 23.26.0b⚡ 12cR2b⊘ 11gR1 - 12cR1⊘ 5.0 - 9.6.0⚡ 10.2 - 12.2.2a⊘ 5.1 - 10.1⊘ 1.4.191 - 2.4.240⚡ 1.0.0 - 1.4.0a⚡ 11.5.0 - 12.1.3a⊘ 9.7 - 11.1⊘ 2.0
  1. ⚡Liefert null
  2. ⚡Liefert das ursprüngliche Objekt
SELECT JSON_QUERY(j,'$.keyvalue()' WITH ARRAY WRAPPER)
  FROM (VALUES ('{"k":"v", "k2": 42}')) t(j)

Dieses Beispiel liefert das untere JSON-Array. Jedes Element repräsentiert ein Key/Value-Paar aus dem Objekt. Key/Value-Paare, die aus dem selben JSON-Objekt der Eingabe resultieren, haben denselben „Id“-Wert.

[ {"id": 0, "key": "k",  "value": "v"}
, {"id": 0, "key": "k2", "value": 42 }
]

Varianten

Db2 (LUW) 12.1.3aaDuckDB 1.4.0aaMariaDB 12.2.2aaOracle DB 23.26.1bPostgreSQL 18SQLite 3.51.0a$.keyvalue()$ ? (@.keyvalue().key == "k2")
  1. ⚡Liefert null
  2. ⚡Liefert das ursprüngliche Objekt

Normative Referenzen

Die SQL/JSON-Path Item-Methode .KeyValue() ist Teil der optionalen Funktion T821, „Basic SQL/JSON query operators“ in ISO/IEC 9075-2:2023.

20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf MastodonMarkus Winand auf Bluesky
Copyright 2015-2026 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO