Przejdź do głównej zawartości

Filtruje pary klucz-wartość w obiekcie JSON na podstawie określonego warunku, zdefiniowanego za pomocą wyrażenia lambda.

JSON_MAP_FILTER(<json_object>, (<key>, <value>) -> <condition>)

Zwraca obiekt JSON zawierający wyłącznie pary klucz-wartość spełniające określony warunek.

Ten przykład wyodrębnia z obiektu JSON tylko parę klucz-wartość "status": "active", odfiltrowując pozostałe pola:

SELECT JSON_MAP_FILTER('{"status":"active", "user":"admin", "time":"2024-11-01"}'::VARIANT, (k, v) -> k = 'status') AS filtered_metadata;
┌─────────────────────┐
│ filtered_metadata │
├─────────────────────┤
│ {"status":"active"} │
└─────────────────────┘