Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta página fornece uma referência completa de todas as funções com suporte para cálculos personalizados em painéis de IA/BI. Para obter informações sobre como usar cálculos personalizados, consulte O que são cálculos personalizados?.
Funções de agregação
Todas as medidas calculadas devem ser agregadas. Há suporte para as seguintes operações de agregação:
Observação
Use a DISTINCT palavra-chave em funções de agregação para incluir apenas valores exclusivos na agregação. Além disso, a FILTER(WHERE condition) cláusula pode ser acrescentada a qualquer função de agregação para limitar os valores incluídos no cálculo.
| Função | Description |
|---|---|
| any(expr) | Retornará true se pelo menos um valor do expr grupo for true. |
| any_value(expr) | Retorna algum valor de expr para um grupo de linhas. |
| approx_count_distinct(expr[, relativeSD]) | Retorna o número estimado de valores distintos em expr. |
| approx_percentile ([ALL | DISTINCT] expr, percentil [, precisão]) | Retorna o valor aproximado do expr no percentil especificado. |
| avg(expr) | Retorna a média calculada em uma coluna ou expressão. |
| bool_or(expr) | Retorna true se pelo menos um dos valores de expr for true. |
| corr(expr1, expr2) | Retorna o coeficiente de correlação pearson entre expr1 e expr2. |
| count(*) | Retorna o número de linhas em um grupo. |
| count(DISTINCT expr) | Retorna o número de linhas únicas em um grupo. |
| count_if(expr) | Retorna a contagem de linhas que atendem a uma determinada condição. |
| first(expr [, ignoreNull]) | Retorna o primeiro valor de expr de um grupo. |
| first_value(expr [, ignoreNull]) | Retorna o primeiro valor de expr de um grupo. |
| last(expr [, ignoreNull]) | Retorna o último valor de expr para o grupo. |
| last_value(expr [, ignoreNull]) | Retorna o último valor de expr para o grupo. |
| listagg(expr [, delimitador]) | Retorna a concatenação de valores não nulos no grupo. |
| max(expr) | Retorna o valor máximo em uma coluna ou expressão. |
| max_by(expr1, expr2) | Retorna o valor associado expr1 ao valor máximo de expr2. |
| mean(expr) | Retorna a média calculada em uma coluna ou expressão. |
| median(expr) | Retorna a mediana de um conjunto de valores. |
| min(expr) | Retorna o valor mínimo em uma coluna ou expressão. |
| min_by(expr1, expr2) | Retorna o valor de expr1 associado ao valor mínimo de expr2. |
| mode(expr [, deterministic ]) | Retorna o valor mais frequente para expr. |
| percentil(expr, percentual [, frequência]) | Retorna o valor exato de expr no percentil especificado dentro de um grupo. |
| percentile_approx(expr, percentual [, precisão]) | Retorna o valor aproximado do expr no percentil especificado. |
| regr_slope(y, x) | Retorna a inclinação da linha de regressão linear para pares não nulos em um grupo. |
| some(expr) | Retornará true se pelo menos um valor do expr grupo for true. |
| std(expr) | Retorna o desvio padrão de um conjunto de valores. |
| stddev(expr) | Retorna o desvio padrão de um conjunto de valores. |
| stddev_pop(expr) | Retorna o desvio padrão de população de um conjunto de valores. |
| stddev_samp(expr) | Retorna o desvio padrão de exemplo de um conjunto de valores. |
| string_agg(expr [, delimitador]) | Retorna a concatenação de valores de cadeia de caracteres não nulos no grupo. |
| sum(expr) | Retorna o total de valores em uma coluna ou expressão. |
| variação(expr) | Retorna a variação de um conjunto de valores. |
Operações aritméticas
Você pode combinar expressões com as seguintes operações aritméticas:
| Operation | Description |
|---|---|
| expr1 % expr2 | Retorna o restante da divisão expr1 por expr2. |
| multiplicador * multiplicando | Retorna o produto de duas expressões. |
| expr1 + expr2 | Retorna a soma de expr1 e expr2. |
| + expr | Retorna o valor da expressão. |
| expr1 - expr2 | Retorna a diferença ao subtrair expr2 de expr1. |
| - expr | Retorna o valor negado da expressão. |
| dividendo / divisor | Retorna o resultado da divisão do dividendo pelo divisor. |
| divisor de dividendos div | Retorna a parte integral da divisão de dividend por divisor. |
| abs(expr) | Retorna o valor absoluto da expressão numérica. |
| acos(expr) | Retorna o cosseno inverso (arco cosseno) de expr. |
| asin(expr) | Retorna o seno inverso (seno do arco) de expr. |
| bround(expr [, d]) | Retorna expr arredondado a d casas decimais usando o modo de arredondamento "HALF_EVEN". |
| ceil(expr) ou ceiling(expr) | Retorna o menor inteiro não menor que expr. |
| cos(expr) | Retorna o cosseno de expr. |
| exp(expr) | Retorna e elevado à potência de expr. |
| floor(expr) | Retorna o maior inteiro não maior que expr. |
| ln(expr) | Retorna o logaritmo natural da expressão. |
| log(base, expr) | Retorna o logaritmo de expr com o especificado base. |
| log10(expr) | Retorna o logaritmo de base 10 da expressão. |
| mod(expr1, expr2) | Retorna o restante da divisão expr1 por expr2. |
| nullifzero(expr) | Retorna NULL se expr for 0, caso contrário, retornará expr. |
| pi() | Retorna o valor de pi. |
| pmod(expr1, expr2) | Retorna o valor positivo de expr1 mod expr2. |
| pow(expr1, expr2) ou power(expr1, expr2) | Retorna o resultado de expr1 elevado à potência de expr2. |
| radians(expr) | Converte graus em radianos. |
| rand([semente]) | Retorna um valor aleatório com distribuição uniforme no intervalo de 0 (inclusive) a 1 (exclusivo). |
| round(expr [, d]) | Retorna expr arredondado para d casas decimais usando HALF_UP modo de arredondamento. |
| sign(expr) | Retorna o sinal da expressão numérica. |
| sin(expr) | Retorna o seno de expr. |
| sqrt(expr) | Retorna a raiz quadrada de expr. |
| try_add(expr1, expr2) | Adiciona dois valores. Se ocorrer um erro, retornará NULL. |
| try_divide(dividendo, divisor) | Divide o dividendo pelo divisor. Se ocorrer um erro, retornará NULL. |
| try_multiply(multiplicador, multiplicador) | Multiplica dois números. Se ocorrer um erro, retornará NULL. |
| try_subtract(expr1, expr2) | Subtrai expr2 de expr1. Se ocorrer um erro, retornará NULL. |
| zeroifnull(expr) | Retorna 0 se expr estiver NULL, caso contrário, retornará expr. |
Funções e operadores boolianos
Cálculos personalizados dão suporte a operadores boolianos e de comparação básicos. Há suporte para os seguintes operadores e funções:
| Operation | Description |
|---|---|
| expr1 != expr2 | Retorna true se expr1 não for igual a expr2. |
| !expr | Lógico que não. |
| expr1 &expr2 | Retorna o AND bit a bit de expr1 e expr2. |
| expr1 && expr2 | Retorna true se ambos expr1 e expr2 são true. |
| expr1 <=> expr2 | Retorna o mesmo resultado que o operador igual para operandos não nulos, mas retorna true se ambos forem null, e false se um for null. |
| expr1 <> expr2 | Retorna true se expr1 não for igual a expr2. |
| expr1 < expr2 | Retorna true se expr1 for menor que expr2. |
| expr1 <= expr2 | Retorna true se expr1 for menor ou igual a expr2. |
| expr1 = expr2 | Retorna true se expr1 for igual a expr2. |
| expr1 == expr2 | Retorna true se expr1 for igual a expr2. |
| expr1 > expr2 | Retorna true se expr1 for maior que expr2. |
| expr1 >= expr2 | Retorna true se expr1 for maior ou igual a expr2. |
| expr1 ^ expr2 | Retorna o OR exclusivo bit a bit de expr1 e expr2. |
| expr1 | expr2 | Retorna o OR bit a bit de expr1 e expr2. |
| expr1 || expr2 | Retorna true se pelo menos um de expr1 ou expr2 é true. |
| ~expr | Retorna a inversão de bits (NOT) de expr. |
| expr1 e expr2 | Retorna true se ambos expr1 e expr2 são true. |
| expr entre limite inferior e limite superior | Testa se está expr dentro do intervalo especificado (sintaxe especial). |
| padrão str ilike | Retorna true se str corresponder a pattern (ignorando maiúsculas e minúsculas). Também pode ser usado como ilike(str, pattern [, escapeChar]). |
| expr in (value1, value2, ...) | Testa se expr corresponde a qualquer valor em uma lista (sintaxe especial). |
| isnan(expr) | Retorna true se expr for NaN (não é um número). |
| isnotnull(expr) | Retorna true se expr é NULL. |
| isnull(expr) | Retorna true se expr for NULL. |
| padrão semelhante a str | Retorna true se str corresponder pattern. Também pode ser usado como like(str, pattern [, escapeChar]). |
| não expr | Não lógico (operador prefixado). Também pode ser usado como not(expr). |
| expr1 ou expr2 | Retorna true se pelo menos um de expr1 ou expr2 é true. |
| str regexp regexp | Retorna true se str corresponder à expressão regular regexp. |
| regexp_like(str, regexp) | Retorna true se str corresponder à expressão regular regexp. |
| str rlike regexp | Retorna true se str corresponder à expressão regular regexp. |
Funções de conversão
Use as seguintes funções para converter valores em um tipo especificado:
| Função | Description |
|---|---|
| expr :: type | Converte o valor expr no tipo de dados de destino type. |
| bigint(expr) | Converte o valor expr em BIGINT. |
| boolean(expr) | Converte o valor expr em BOOLEAN. |
| cast(expr AS type) | Converte o valor expr no tipo de dados de destino type. |
| date(expr) | Converte o valor expr em DATE. |
| decimal(expr [, p [, s]]) | Converte o valor expr para DECIMAL com precisão p e escala s. |
| double(expr) | Converte o valor expr em DOUBLE. |
| float(expr) | Converte o valor expr em FLOAT. |
| int(expr) | Converte o valor expr em INT. |
| string(expr) | Converte o valor expr em STRING. |
| timestamp(expr) | Converte o valor expr em TIMESTAMP. |
| to_date(expr [, fmt]) | Converte o expr e o fmt em uma data. |
| to_timestamp(expr [, fmt]) | Converte o expr com o fmt em um carimbo de data/hora. |
| try_cast(tipo expr AS) | Converte o valor expr no tipo de dados de destino type com segurança. |
| try_to_timestamp(expr [, fmt]) | Converte o expr com o fmt em um carimbo de data/hora com segurança. |
Funções de data, timestamp e intervalo
Use as seguintes funções para trabalhar com datas, marcas temporais e intervalos:
| Função | Description |
|---|---|
| adicionar_meses(data_inicial, num_meses) | Retorna a data que está num_months após start_date. |
| curdate() | Retorna a data atual. |
| current_date() | Retorna a data atual. |
| current_timestamp() | Retorna o timestamp atual. |
| current_timezone() | Retorna o fuso horário local da sessão atual. |
| date_add(data_inicio, num_dias) | Retorna a data que está num_days após start_date. |
| date_diff(endDate, startDate) | Retorna o número de dias de startDate a endDate. |
| date_format(expr, fmt) | Converte um carimbo de data/hora em uma cadeia de caracteres no formato fmt. |
| date_part(campo, origem) | Extrai uma parte específica, como ano, mês ou dia, de uma data ou carimbo de data/hora. |
| date_sub(start_date, num_days) | Retorna a data que é num_days antes de start_date. |
| date_trunc(fmt, fonte) | Truncar uma data ou timestamp para uma unidade especificada, como ano ou mês. |
| dateadd(unidade, valor, expressão) | Adiciona o intervalo de tempo especificado a uma data ou marca temporal. |
| datediff(endDate, startDate) | Retorna o número de dias de startDate a endDate. |
| day(expr) | Retorna o dia do mês da data ou timestamp. |
| dayname(expr) | Retorna o nome do dia da semana a partir da data ou timestamp. |
| dayofmonth(expr) | Retorna o dia do mês da data ou timestamp. |
| dayofweek(expr) | Retorna o dia da semana da data ou carimbo de data/hora (1 = domingo, 7 = sábado). |
| dayofyear(expr) | Retorna o dia do ano da data ou timestamp. |
| extrair(campo DE fonte) | Extrai uma parte da data ou carimbo de data/hora. |
| from_unixtime(unix_time [, fmt]) | Converte o número de segundos da época unix em um carimbo de data/hora. |
| from_utc_timestamp(timestamp, fuso horário) | Interpreta o carimbo de data/hora fornecido como UTC e converte para o fuso horário fornecido. |
| getdate() | Retorna o timestamp atual. |
| hour(expr) | Retorna o componente de hora do carimbo de data/hora. |
| last_day(expr) | Retorna o último dia do mês ao qual a data ou carimbo de data/hora pertence. |
| make_date(ano, mês, dia) | Cria uma data dos campos ano, mês e dia. |
| make_timestamp(ano, mês, dia, hora, min, s [, fuso horário]) | Cria um timestamp a partir do ano, mês, dia, hora, minuto, segundo e, opcionalmente, do campo de fuso horário. |
| minute(expr) | Retorna o componente de minuto do timestamp. |
| month(expr) | Retorna o componente de mês da data ou timestamp. |
| months_between(timestamp1, timestamp2 [, roundOff]) | Retorna o número de meses entre timestamp1 e timestamp2. |
| next_day(start_date, day_of_week) // Próximo dia a partir da data de início, dia da semana | Retorna a primeira data que é posterior a start_date e nomeada como day_of_week. |
| now() | Retorna o timestamp atual. |
| quarter(expr) | Retorna o trimestre do ano para a data ou timestamp (1 a 4). |
| second(expr) | Retorna o segundo componente do timestamp. |
| timediff(endDate, startDate) | Retorna a diferença entre dois carimbos de data/hora medidos em unidades. |
| timestamp_micros(microssegundos) | Cria um carimbo de data/hora a partir do número de microssegundos desde o início da era Unix. |
| timestamp_millis(milissegundos) | Cria um timestamp a partir do número de milissegundos desde a era Unix. |
| timestamp_seconds(segundos) | Cria um timestamp do número de segundos desde a era Unix. |
| timestampadd(unit, value, timestamp) | Adiciona o intervalo de tempo especificado a um timestamp. |
| timestampdiff(unidade, início, fim) | Retorna a diferença entre dois carimbos de data/hora medidos em unidades. |
| to_date(expr [, fmt]) | Converte o expr e o fmt em uma data. |
| to_timestamp(expr [, fmt]) | Converte o expr com o fmt em um carimbo de data/hora. |
| to_unix_timestamp(expr [, fmt]) | Retorna o carimbo de data/hora Unix do tempo determinado. |
| to_utc_timestamp(timestamp, fuso horário) | Interpreta o carimbo de data/hora fornecido no fuso horário especificado e o converte para UTC. |
| trunc(expr, fmt) | Retorna \expr com o segmento do tempo do dia truncado para a unidade especificada pelo modelo de formato \fmt. |
| unix_micros(timestamp) | Retorna o número de microssegundos desde a época do Unix. |
| unix_millis(carimbo de data/hora) | Retorna o número de milissegundos desde a época do Unix. |
| unix_seconds(timestamp) | Retorna o número de segundos desde a época do Unix. |
| unix_timestamp([expr [, fmt]]) | Retorna o carimbo de data/hora Unix do tempo determinado. |
| weekday(expr) | Retorna o dia da semana a partir da data ou do timestamp (0 = segunda-feira, 6 = domingo). |
| weekofyear(expr) | Retorna a semana do ano a partir da data ou do timestamp. |
| year(expr) | Retorna o componente de ano da data ou do timestamp. |
Funções de cadeia de caracteres
Use as funções a seguir para transformar cadeias de caracteres. Para transformar strings de data e hora, consulte as funções Cast.
| Função | Description |
|---|---|
| base64(expr) | Converte o argumento em uma cadeia de caracteres base64. |
| char(expr) | Retorna o caractere no ponto de código UTF-16 fornecido. |
| charindex(substr, str [, pos]) | Retorna a posição da primeira ocorrência de substr em str após a posição pos. |
| concat(expr1, expr2 [, ...]) | Retorna a concatenação dos argumentos. |
| concat_ws(sep [, expr1 [, ...]]) | Retorna a concatenação de cadeias de caracteres separadas por sep. |
| contains(left, right) | Retorna true se right for encontrado em left. |
| convert_timezone(sourceTz, targetTz, sourceTs) | Converte o carimbo de data/hora sourceTs do sourceTz fuso horário para targetTz fuso horário. |
| decode(expr, charSet) | Converte binário expr em uma string usando a codificação do conjunto de caracteres charSet. |
| endswith(left, right) | Retorna true se left termina com right. |
| find_in_set(str, str_array) | Retorna o índice (baseado em 1) da cadeia de caracteres fornecida na lista delimitada por vírgulas. |
| format_number(expr, scale) | Formatar expr como #,###,###.##, arredondado a scale casas decimais. |
| format_string(format, expr [, ...]) | Retorna uma cadeia de caracteres formatada de cadeias de caracteres de formato de estilo printf. |
| hex(expr) | Converte expr para hexadecimal. |
| initcap(str) | Retorna str com a primeira letra de cada palavra em letras maiúsculas. |
| instr(str, substr) | Retorna a posição da primeira ocorrência de substr em str. |
| lcase(str) | Retorna str com todos os caracteres alterados para minúsculas. |
| left(str, len) | Retorna os len primeiros caracteres da sequência de caracteres str. |
| len(expr) | Retorna o comprimento da cadeia de caracteres ou expressão binária. |
| length(expr) | Retorna o comprimento da cadeia de caracteres ou expressão binária. |
| levenshtein(str1, str2 [, limite]) | Retorna a distância Levenshtein entre as duas cadeias de caracteres fornecidas. |
| locate(substr, str [, pos]) | Retorna a posição da primeira ocorrência de substr em str após a posição pos. |
| lower(str) | Retorna str com todos os caracteres alterados para minúsculas. |
| lpad(str, len [, pad]) | Retorna str preenchido à esquerda com pad para atingir um comprimento de len. |
| ltrim(str [, trimStr]) | Remove os caracteres principais de str. |
| md5(expr) | Retorna uma soma de verificação de 128 bits MD5 como uma cadeia de caracteres hex. |
| parse_url(url, partToExtract [, key]) | Extrai uma parte de url. |
| position(substr, str [, pos]) | Retorna a posição da primeira ocorrência de substr em str após a posição pos. |
| printf(format, expr [, ...]) | Retorna uma cadeia de caracteres formatada de cadeias de caracteres de formato de estilo printf. |
| regexp_count(str, regexp) | Retorna o número de vezes que a expressão regular regexp encontra correspondências em str. |
| regexp_extract(str, regexp [, idx]) | Extrai um grupo que corresponde a regexp. |
| regexp_instr(str, regexp) | Retorna a posição da primeira correspondência de regexp na string str. |
| regexp_replace(str, regexp, rep [, position]) | Substitui todas as subcadeias de caracteres de str que correspondem a regexp por rep. |
| regexp_substr(str, regexp) | Retorna a subcadeia de caracteres que corresponde à expressão regular regexp dentro de str. |
| repeat(str, n) | Retorna a cadeia de caracteres que repete strn vezes. |
| substituir(str, busca [, substituir]) | Substitui todas as ocorrências de search por replace em str. |
| reverse(str) | Retorna str com a ordem dos caracteres invertida. |
| right(str, len) | Retorna os len caracteres mais à direita da cadeia de caracteres str. |
| rtrim([trimStr,] str) | Retorna str removendo os caracteres finais. |
| sha2(expr, bitLength) | Retorna a família SHA-2 de funções de hash. |
| split_part(str, delimitador, partNum) | Divide str por delimiter e retorna a parte solicitada. |
| startswith(esquerda, direita) | Retorna true se left começa com right. |
| substr(str, pos [, len]) | Retorna a subcadeia de caracteres de str começando em pos com o comprimento len. |
| substring(str, pos [, len]) | Retorna a subcadeia de caracteres de str começando em pos com o comprimento len. |
| substring_index(str, delim, count) | Retorna a subcadeia de caracteres antes das ocorrências de countdelim. |
| to_char(expr [, fmt]) | Converte expr em uma cadeia de caracteres. |
| to_number(expr [, fmt]) | Converte a cadeia de caracteres expr em um número. |
| translate(entrada, origem, destino) | Substitui os caracteres em input por caracteres correspondentes em from para traduzir to. |
| trim(str [, trimStr]) | Remove caracteres iniciais e finais de str. |
| ucase(str) | Retorna str com todos os caracteres alterados para maiúsculas. |
| upper(str) | Retorna str com todos os caracteres alterados para maiúsculas. |
| url_encode(str) | Codifica str para uso em parâmetros de consulta de URL. |
Funções diversas
Também há suporte para as seguintes funções:
| Função | Description |
|---|---|
| AGRUPAR SOBRE | Calcula valores entre intervalos de tempo ou outros conjuntos ordenados para medidas. |
| CASE expr { WHEN opt1 THEN res1 } [...] [ELSE def] FIM | Retorna resN para a primeira optN, que é igual a expr ou def se não houver correspondência. |
| CASE { WHEN cond1 THEN res1 } [...] [ELSE def] FIM | Retorna resN para o primeiro condN que for avaliado como verdadeiro, ou def se nenhum for encontrado. |
| coalesce(expr1, expr2 [, ...]) | Retorna o primeiro argumento não nulo. |
| decode(expr, busca, resultado [, busca, resultado]... [, padrão]) | Compara cada valor de pesquisa a expr e retorna o resultado correspondente. |
| get_json_object(json_txt, caminho) | Extrai um objeto JSON de json_txt na path especificada. |
| greatest(expr [, ...]) | Retorna o maior valor de todos os parâmetros. |
| hash(expr1 [, expr2 ...]) | Retorna um valor hash dos argumentos. |
| if(condition, valor_verdadeiro, valor_falso) | Retorna true_value se condition estiver true, caso contrário, retornará false_value. |
| iff(condicao, valor_verdadeiro, valor_falso) | Retorna true_value se condition estiver true, caso contrário, retornará false_value. |
| ifnull(expr1, expr2) | Retornará expr2 se expr1 for null, caso contrário, expr1. |
| json_array_length(jsonArray) | Retorna o número de elementos na matriz JSON mais externa. |
| least(expr [, ...]) | Retorna o menor valor de todos os parâmetros. |
| monotonically_increasing_id() | Retorna inteiros de 64 bits que aumentam de maneira monotônica. |
| nullif(expr1, expr2) | Retorna NULL se expr1 for igual expr2, caso contrário, retornará expr1. |
| nvl(expr1, expr2) | Retornará expr2 se expr1 for NULL, caso contrário, expr1. |
| nvl2(expr1, expr2, expr3) | Retorna expr2 se expr1 não for NULL, ou expr3 caso contrário. |
| schema_of_json(json [, opções]) | Retorna o esquema no formato DDL da cadeia de caracteres JSON. |