CASO
Descrição
CASE
é uma função de linha que avalia cada linha do conjunto de dados de acordo com uma ou mais condições de entrada e gera o resultado especificado quando as condições de entrada são atendidas.Sintaxe
CASE
WHEN
input_condition
[AND
|OR
input_condition
]THEN
output_expression
[...] [ELSE
other_output_expression
] END
Valor de retorno
Retorna um valor por linha do mesmo tipo da expressão de saída. Todas as expressões de saída devem retornar o mesmo tipo de campo.
Se houver várias expressões de saída que retornam tipos de campo diferentes, você precisará incluir todos os dados de saída.
CASE
em uma das funções de conversão de tipo de campo, como TO_INT
, para converter explicitamente todos os valores de saída em um tipo de campo específico.Parâmetros de entrada
- WHENinput_condition
- É obrigatório. OWHENA palavra-chave é usada para especificar uma ou mais expressões boolianas (veja os operadores condicionais compatíveis). Se um valor de entrada atende à condição, a expressão de saída é aplicada. As condições de entrada podem incluir outras funções de linha em sua expressão, mas não podem conter funções de resumo ou expressões de medida. Você pode usar o botãoANDouORpalavras-chave para combinar várias condições de entrada.
- THENoutput_expression
- É obrigatório. OTHENA palavra-chave é usada para especificar uma expressão de saída quando as condições especificadas são atendidas. As expressões de saída podem incluir outras funções de linha, mas não podem conter funções de resumo ou expressões de medida.
- ELSEother_output_expression
- Opcional. OELSEA palavra-chave pode ser usada para especificar uma expressão de saída alternativa a ser usada quando as condições especificadas não são atendidas. Se forELSEA expressão não foi fornecida,ELSE NULLé o valor por padrão.
- FIM
- É obrigatório. Indica o fim deCASEProcessamento de funções
Exemplos
Converta valores na coluna
de idade
em agrupamentos com base em intervalos (binning):CASE WHEN [age] <= 25 THEN "0-25" WHEN [age] <= 50 THEN "26-50" ELSE "over 50"
END
Transforme os valores na coluna
Sexo
de uma cadeia de caracteres em outra:CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN
"Female" ELSE "Unknown" END
A coluna
de veículo
contém os seguintes valores: caminhonete, onboarding, car, Scooter, perua, ciclovia, triciclo e mota. O exemplo a seguir converte vários valores da coluna de veículo
em um único valor:CASE WHEN [vehicle] in ("bike","scooter","motorcycle") THEN "two-wheelers" ELSE
"other" END