Loading
About Salesforce Data 360
Funções e operadores de transformação de dados de streaming

Funções e operadores de transformação de dados de streaming

Você pode usar essas funções e operadores em uma instrução SQL de transformação de dados de streaming.

Categoria Nome da função Descrição
Tabela JSON_TABLE(field, rootPath COLUMNS (list) alias)

Extrai valores de um valor de string JSON para uma tabela com colunas especificadas. Pode ser usado para criar mais de uma tabela.

Use estes valores dentro da função.

  • Field (string) – O nome do campo no objeto de entrada em que os valores JSON são armazenados. Pode ser qualquer expressão que resulte em um valor de string JSON.
  • rootPath (path) – A expressão de caminho JSON que localiza propriedades em um objeto JSON.
  • List (ColumnName Type PATH Path) – Uma lista separada por vírgulas de colunas que está dentro da tabela.
    • ColumnName (string) – O nome da coluna na tabela retornada da invocação JSON_TABLE.
    • Type – O tipo de dados que está sendo gerado. Os valores válidos são TEXTO ou NÚMERO.
    • Path (path) – A expressão de caminho JSON que localiza propriedades em um objeto JSON em relação ao caminho raiz.
  • Alias (string) – O nome da tabela que está sendo criada.

Exemplos

SELECT 
  customers_with_orders__dll.order_id__c as order_id__c, 
  customers.customer as customer__c
FROM customers_with_orders__dll, JSON_TABLE(
  customers_with_orders__dll.json_data__c, '$' COLUMNS (
 	customer TEXT PATH '$.customer'
	)
) customers
SELECT 
  customers_with_orders__dll.order_id__c as order_id__c, 
  items.item_name as item_name__c,
  items.item_price as item_price__c
FROM customers_with_orders__dll, JSON_TABLE(
  customers_with_orders__dll.json_data__c, '$.items[*]' COLUMNS (
    item_name TEXT PATH '$.name',
    item_price NUMBER PATH '$.price'
  )
) items
Texto CONCAT() Retorna uma string concatenada dos valores fornecidos. Aceita duas ou mais strings ou nomes de API de campo.
Texto COALESCE Retorna o primeiro valor da lista que não esteja vazio.
Texto TRIM(text) Remove todos os espaços do texto exceto para espaços simples entre palavras.
Texto RTRIM(text) Remove todos os espaços do fim.
Texto LOWER(text) Converte todas as letras maiúsculas em uma string de texto em letras minúsculas.
Texto UPPER(text) Converte todas as letras minúsculas em uma string de texto em letras maiúsculas.
Texto TO_TEXT(expr) Retorna o valor UTF-8 para uma expressão de texto, número, booleano, data ou data e hora.
Datetime TO_DATETIME(expr)

Retorna o valor de data e hora para uma expressão de data, data e hora ou época.

Exemplos

Data

TO_DATETIME(2023-05-15) retorna 2023-05-15 00:00:00

Época

TO_DATETIME(1700127401) retorna 2023-11-16 09:36:41

Datetime HOUR_ADD Adiciona um número de horas ao valor de data e hora com base no valor inteiro do parâmetro da segunda função. Retorna a data e hora que é o número de horas após a data e hora de início.
Datetime HOUR_SUB Subtrai um número de horas do valor de data e hora com base no valor inteiro do parâmetro da segunda função. Retorna a data que é o número de horas antes da data e hora de início.
Booleano TO_BOOLEAN(expr) Retorna um valor booleano. Aceita valores booleanos ou os valores de texto "Verdadeiro" e "Falso".
Número TO_NUMBER(expr) Retorna um valor numérico para uma determinada expressão. Retorna nulo para valores de texto, data, data e hora e booleanos.
Data TO_DATE(expr)

Retorna um valor de data para uma expressão de data, data e hora ou época.

Exemplos

Datetime

TO_DATE(2023-11-16 09:36:41) retorna 2023-11-16

Época

TO_DATE(1700127401) retorna 2023-11-16

Lógica

ISNULL()

IFNULL()

NULLIF()

ISNOTNULL()

Essas funções testam valores nulos.

Para o tipo de dados de texto:

  • Para verificar se há um valor nulo, use field = ''.

    Para o tipo de dados Text, os valores nulos e as strings vazias são diferentes. Aspas duplas sem caracteres entre elas representa uma string vazia.""

  • Para verificar se há um valor não nulo, use field <> ''.
  • Para excluir strings vazias e valores nulos, use o campo <> "" AND field <> ''.

    No Explorador de dados, as strings vazias e os valores nulos são exibidos como NULL. Para garantir a filtragem precisa, é recomendado incluir verificações de valores nulos e strings vazias.

Para os tipos de dados de número e data e hora:

  • Para verificar se há um valor não nulo, use ISNOTNULL(field).
  • Para verificar se há um valor nulo, use ISNULL(field).
Lógica Instrução CASE WHEN

Retorna um valor quando a primeira condição é atendida, como if-then-else.

Exemplo

SELECT 
    SourceObject.Id as id__c,
    CASE
        WHEN upper(SourceObject.Type) LIKE '%CAT%' THEN 'pet'
        WHEN lower(SourceObject.Description) LIKE '%donut%' THEN 'food'
        ELSE 'Unknown'
    END AS newProduct__c
    FROM SourceObject
Lógica AND(condition1, condition2)

A lógica AND verifica se ambas as condições são verdadeiras.

Exemplo

SELECT *
FROM SourceObject
WHERE (Type <> "" AND Comment == "")
Lógica OR(condition1, condition2)

A lógica OR verifica se uma das condições é verdadeira.

Exemplo

SELECT *
FROM SourceObject
WHERE (Type <> "" AND Comment == "")
    OR (FirstName == "Alice" AND LastName == "Bob")
Operadores Operadores lógicos

Maior que (>)

Maior ou igual a (>=)

Menor que (<)

Menor ou igual a (<=)

Igual a (==)

Lógica AND (&&)

Lógica OR (||)

Lógica NOT (!=, <>)

Operadores UNION

Combine até cinco instruções SELECT. Cada instrução SELECT deve usar o mesmo objeto de data lake de origem.

Exemplo

SELECT Name, City
FROM AccountObject
UNION
SELECT Name, City
FROM AccountObject;

Para garantir que os registros sejam atualizados adequadamente, valide se nenhuma das seguintes condições está presente ao mesmo tempo.

  • Uma coluna em dois ou mais blocos SELECT na UNION é avaliada com o mesmo valor; e
  • A coluna é usada como a chave primária no objeto de destino; e
  • Os blocos SELECT contêm predicados que filtram os dados e cada predicado filtra os dados de maneira diferente
Data e data e hora CURRENT_DATE() Retorna a data UTC atual como um valor do tipo de dados Date.
 
Carregando
Salesforce Help | Article