JSON_OBJECT_KEEP_NULL (Lakehouse v1)
Cria um objeto JSON com chaves e valores.
- Os argumentos são zero ou mais pares chave-valor (em que as chaves são strings e os valores podem ser de qualquer tipo).
- Se uma chave for NULL, o par chave-valor é omitido do objeto resultante. No entanto, se um valor for NULL, o par chave-valor é mantido.
- As chaves devem ser distintas entre si, e a ordem delas no JSON resultante pode ser diferente da ordem que você especificar.
TRY_JSON_OBJECT_KEEP_NULLretorna um valor NULL se ocorrer um erro ao construir o objeto.
Consulte também: JSON_OBJECT
Sintaxe SQL
Seção intitulada “Sintaxe SQL”JSON_OBJECT_KEEP_NULL(key1, value1[, key2, value2[, ...]])
TRY_JSON_OBJECT_KEEP_NULL(key1, value1[, key2, value2[, ...]])Tipo de retorno
Seção intitulada “Tipo de retorno”Objeto JSON.
Exemplos de SQL
Seção intitulada “Exemplos de 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 │└──────────────────────────────────┘