JSON_OBJECT_KEEP_NULL (Lakehouse v1)
Tworzy obiekt JSON z kluczami i wartościami.
- Argumentami są zero lub więcej par klucz-wartość (klucze są ciągami znaków, a wartości mogą być dowolnego typu).
- Jeśli klucz ma wartość NULL, para klucz-wartość jest pomijana w wynikowym obiekcie. Jeśli jednak wartość ma wartość NULL, para klucz-wartość jest zachowywana.
- Klucze muszą być różne od siebie, a ich kolejność w wynikowym JSON może się różnić od kolejności, w jakiej je podano.
TRY_JSON_OBJECT_KEEP_NULLzwraca wartość NULL, jeśli podczas budowania obiektu wystąpi błąd.
Zobacz też: JSON_OBJECT
Składnia SQL
Dział zatytułowany „Składnia SQL”JSON_OBJECT_KEEP_NULL(key1, value1[, key2, value2[, ...]])
TRY_JSON_OBJECT_KEEP_NULL(key1, value1[, key2, value2[, ...]])Typ zwracany
Dział zatytułowany „Typ zwracany”Obiekt JSON.
Przykłady SQL
Dział zatytułowany „Przykłady SQL”SELECT JSON_OBJECT_KEEP_NULL();┌─────────────────────────┐│ json_object_keep_null() │├─────────────────────────┤│ {} │└─────────────────────────┘
SELECT JSON_OBJECT_KEEP_NULL('a', 3.14, 'b', 'xx', 'c', NULL);┌────────────────────────────────────────────────────────┐│ json_object_keep_null('a', 3.14, 'b', 'xx', 'c', null) │├────────────────────────────────────────────────────────┤│ {"a":3.14,"b":"xx","c":null} │└────────────────────────────────────────────────────────┘
SELECT JSON_OBJECT_KEEP_NULL('fruits', ['apple', 'banana', 'orange'], 'vegetables', ['carrot', 'celery']);┌────────────────────────────────────────────────────────────────────────────────────────────────────┐│ json_object_keep_null('fruits', ['apple', 'banana', 'orange'], 'vegetables', ['carrot', 'celery']) │├────────────────────────────────────────────────────────────────────────────────────────────────────┤│ {"fruits":["apple","banana","orange"],"vegetables":["carrot","celery"]} │└────────────────────────────────────────────────────────────────────────────────────────────────────┘
SELECT JSON_OBJECT_KEEP_NULL('key'); |1 | SELECT JSON_OBJECT_KEEP_NULL('key') | ^^^^^^^^^^^^^^^^^^ The number of keys and values must be equal while evaluating function `json_object_keep_null('key')`
SELECT TRY_JSON_OBJECT_KEEP_NULL('key');┌──────────────────────────────────┐│ try_json_object_keep_null('key') │├──────────────────────────────────┤│ NULL │└──────────────────────────────────┘