- Categorias:
Funções de dados semiestruturados e estruturados (Matriz/objeto)
OBJECT_CONSTRUCT¶
Devolve um OBJECT construído a partir dos argumentos.
- Consulte também:
Sintaxe¶
Argumentos¶
keyA chave em um par chave-valor. Cada chave é um valor VARCHAR.
valueO valor que está associado à chave. O valor pode ser qualquer tipo de dados.
*Quando invocado com um asterisco (curinga), o valor de OBJECT é construído a partir dos dados especificados usando os nomes de atributo como chaves e os valores associados como valores. Consulte os exemplos abaixo.
Ao passar um curinga para a função, você pode qualificar o curinga com o nome ou alias da tabela. Por exemplo, para passar todas as colunas da tabela nomeadas
mytable, especifique o seguinte:Também é possível usar as palavras-chave ILIKE e EXCLUDE para filtrar:
ILIKE filtra nomes de colunas que correspondem ao padrão especificado. Apenas um padrão é permitido. Por exemplo:
EXCLUDE filtra nomes de coluna que não correspondem à coluna ou colunas especificadas. Por exemplo:
Os qualificadores são válidos quando você usa essas palavras-chave. O exemplo a seguir usa a palavra-chave ILIKE para filtrar todas as colunas que correspondem ao padrão
col1%na tabelamytable:As palavras-chave ILIKE e EXCLUDE não podem ser combinadas em uma única chamada de função.
Também é possível especificar o curinga em uma constante de objeto.
Para esta função, as palavras-chave ILIKE e EXCLUDE são válidas somente em uma lista SELECT ou cláusula GROUP BY.
Para obter mais informações sobre as palavras-chave ILIKE e EXCLUDE, consulte a seção «Parâmetros» em SELECT.
Retornos¶
Retorna um valor do tipo OBJECT.
Notas de uso¶
Se a chave ou o valor for NULL (ou seja, SQL NULL), o par chave-valor é omitido do objeto resultante. Um par chave-valor composto por uma cadeia de caracteres que não seja NULL como chave e um valor nulo JSON como valor (ou seja,
PARSE_JSON('NULL')) não é omitido. Para obter mais informações, consulte Valores NULL.O objeto construído não preserva necessariamente a ordem original dos pares chave-valor.
Em muitos contextos, você pode usar uma constante de OBJECT (também chamada de literal de OBJECT) em vez da função OBJECT_CONSTRUCT.
Exemplos¶
Os exemplos a seguir chamam a função OBJECT_CONSTRUCT:
Construir um objeto simples¶
Este exemplo mostra como construir um objeto simples:
Construir objetos usando o caractere curinga (*)¶
Este exemplo usa o caractere curinga (*) para obter o nome do atributo e o valor da cláusula FROM:
Este exemplo usa * e inclui a palavra-chave ILIKE para filtrar a saída:
Este exemplo usa * e inclui a palavra-chave EXCLUDE para filtrar a saída:
Este exemplo é equivalente ao exemplo anterior, mas usa uma constante de objeto em vez da função OBJECT_CONSTRUCT:
Este é outro exemplo usando *. Neste caso, os nomes dos atributo não são especificados, então o Snowflake usa COLUMN1, COLUMN2 e assim por diante:
Construir objetos usando SQL NULL e um valor nulo JSON¶
Este exemplo constrói um objeto usando SQL NULL e a cadeia de caracteres 'null':
Para obter mais informações, consulte Valores NULL.
Construir objetos usando expressões¶
OBJECT_CONSTRUCT oferece suporte a expressões e consultas para adicionar, modificar ou omitir valores do objeto JSON.
Construir valores OBJECT aninhados¶
O exemplo a seguir cria uma tabela e insere valores OBJECT com dois níveis de aninhamento: