Operadores de comparação

Os operadores de comparação permitem comparar valores no lado esquerdo com os valores no lado direito de uma expressão.
(left-hand side) (operator) (right-hand side)

Estas avaliações geram um resultado booleano true ou false e podem ser usadas como base para determinar se a ação de transformação é executada na linha ou na coluna de dados. Os seguintes operadores são aceitos:

Nome do operadorSímboloExpressão de exemploResultadoObservações
menor que<

3 < 6

true
menor que ou igual a<=

6 <= 5

falseEste operador gera um erro: =<
maior que>

3 > 6

false
maior que ou igual a>=

6 >= 5

trueEste operador gera um erro: =>
igual a==4 == 4truePara esse operador de comparação, você precisa usar dois sinais iguais, senão um erro é gerado.
diferente de

<> ou

!=

4 <> 4false

Ambos os operadores são aceitos.

Este operador gera um erro: =!

Os exemplos acima são válidos apenas a valores inteiros. Revise a seguir como os operadores de comparação são aplicados a diferentes tipos de dados.

Uso

Os operadores de comparação são usados ​​para determinar a condição de um conjunto de dados. Normalmente, eles são aplicados a avaliações de valores ou linhas.

Por exemplo, veja o seguinte conjunto de dados:

city
San Francisco
Los Angeles
Chicago
New York

Você pode usar a transformação a seguir para sinalizar todas as linhas cujo valor city é igual a San Francisco:

derive type:single value:(city == 'San Francisco')

O resultado tem esta aparência:

citycolumn1
San Franciscotrue
Los Angelesfalse
Chicagofalse
New Yorkfalse

Você pode combinar os dados acima usando a função IF, que permite gravar valores para resultados true ou false:

derive type:single value:IF(city == 'San Francisco', 'Home of the Giants!', 'Some other team') as:'BaseballTeam'

Observe que a cláusula opcional as: pode ser usada para renomear as colunas geradas. Consulte Transformação Derive.

cityBaseballTeam
San FranciscoSede dos Giants!
Los AngelesAlgum outro time
ChicagoAlgum outro time
New YorkAlgum outro time

Exemplos

OBSERVAÇÃO: quando uma comparação é aplicada a um conjunto de valores, o tipo de dados de cada valor de origem é novamente inferido para corresponder a qualquer valor literal usado no outro lado da expressão. Esse método permite comparações mais precisas.

Nos exemplos a seguir, os valores retirados da coluna MySource são redigitados para corresponder ao tipo de dados inferido do outro lado da comparação.

Menor que (ou igual a)

Tipo de colunaExemplo de transformaçãoResultadoObservações
Número inteiro

derive type:single value:(MySource < 5)

  • true para todos os valores em MySource menores que 5.
  • Caso contrário, false.
Decimal

keep row:(MySource <= 2.5)

Retém todas as linhas no conjunto de dados onde o valor na coluna MySource é menor ou igual a 2,5.
Data/hora

keep row:(Date <= DATE(2009,12,31))

Retém todas as linhas com um valor de coluna Date menor ou igual a 12/31/2009.Você também pode usar a função DATEDIF para gerar a diferença de número de dias entre dois valores de data. Deste modo, é possível comparar essa diferença com outro valor. Consulte a função DATEDIF.
String (e todos os outros tipos de dados)

derive type:single value:(LEN(MySource) < 5))

  • true para qualquer valor de string na coluna MySource cujo comprimento é menor que cinco caracteres.
  • Caso contrário, false
  • Consulte a função LEN.
  • Para fins de comparação, todos os tipos de dados que não foram listados nesta tabela se comportam como strings.
  • Como as strings são valores não numéricos, uma função precisa ser aplicada aos dados de string para renderizar uma comparação.

Maior que (ou igual a)

Consulte a seção anterior.

Igual a

Tipo de colunaExemplo de transformaçãoResultadoObservações
Número inteiro

derive type:single value:(MySource == 5)

  • true para todos os valores na coluna MySource que são 5.
  • Caso contrário, false.
Se a coluna de origem incluir valores decimais, e o lado direito for um número inteiro, os valores decimais que também forem inteiros poderão ser correspondidos na comparação (por exemplo, 2.0 == 2).
Decimal

keep row:(MySource == 2.5)

Retém todas as linhas no conjunto de dados onde o valor na coluna MySource é exatamente 2,5.Se a coluna de origem incluir valores inteiros e o lado direito for um tipo decimal, os valores inteiros serão arredondados para comparação.
Data/hora

keep row:(Date == DATE(2016,12,25))

Retém todas as linhas com um valor de coluna Date menor ou igual a 12/25/2016.
String (e todos os outros tipos de dados)

keep row:(LEN(MySource) == 5))

Retém todas as linhas no conjunto de dados onde o comprimento do valor da string na coluna MySource é de cinco caracteres.
  • Para fins de comparação, todos os tipos de dados que não foram listados nesta tabela se comportam como strings.
  • Como as strings são valores não numéricos, uma função precisa ser aplicada aos dados de string para renderizar uma comparação.

Diferente de

Tipo de colunaExemplo de transformaçãoResultadoObservações
Número inteiro

derive type:single value:(MySource <> 5)

  • true para todos os valores na coluna MySource que não são 5.
  • Caso contrário, false.
Se a coluna de origem incluir valores decimais e o lado direito for um número inteiro, os valores decimais que também forem inteiros poderão ser correspondidos na comparação (por exemplo, 2.0 == 2 ).
Decimal

keep row:(MySource <> 2.5)

Retém todas as linhas no conjunto de dados em que o valor na coluna MySource não é 2,5.Se a coluna de origem incluir valores inteiros e o lado direito for um tipo decimal, os valores inteiros serão arredondados para comparação.
Data/hora

keep row:(Date <> DATE(2016,4,15))

Retém todas as linhas no conjunto de dados onde o valor Date não é igual a 15/04/2016.
String (e todos os outros tipos de dados)

keep row:(LEN(MySource) <> 5))

Retém todas as linhas no conjunto de dados em que o comprimento do valor da string na coluna MySource não é de cinco caracteres.
  • Para fins de comparação, todos os tipos de dados que não foram listados nesta tabela se comportam como strings.
  • Como as strings são valores não numéricos, uma função precisa ser aplicada aos dados de string para renderizar uma comparação.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.