Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página fornece uma referência completa de todas as funções suportadas 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 agregadas
Todas as medidas calculadas devem ser agregadas. As seguintes operações de agregação são suportadas:
Observação
Use a DISTINCT palavra-chave em funções agregadas para incluir apenas valores exclusivos na agregação. Além disso, a FILTER(WHERE condition) cláusula pode ser anexada a qualquer função agregada para limitar os valores incluídos no cálculo.
| Função | Description |
|---|---|
| any(expr) | Retorna true se pelo menos um valor de expr no grupo for true. |
| any_value(expr) | Retorna algum valor de expr para um grupo de linhas. |
| approx_count_distinct(expr[, relativeSD]) | Devolve o número estimado de valores distintos em expr. |
| approx_percentile ([TODOS | DISTINTO] expr, percentil [, precisão]) | Retorna o valor aproximado do percentil de expr no percentil especificado. |
| Média (EXPR) | Devolve a média calculada numa coluna ou expressão. |
| bool_or(expr) | Retorna true se pelo menos um valor de expr é true. |
| corr(expr1, expr2) | Devolve o coeficiente de correlação de Pearson entre expr1 e expr2. |
| count(*) | Devolve o número de linhas num grupo. |
| contar(DISTINCT expr) | Devolve o número de linhas exclusivas num grupo. |
| count_if(expr) | Devolve a contagem de linhas que satisfazem uma determinada condição. |
| primeiro(expr [, ignoreNull]) | Devolve o primeiro valor de expr para um grupo. |
| first_value(expr [, ignoreNull]) | Devolve o primeiro valor de expr para um grupo. |
| last(expr [, ignoreNull]) | Devolve o último valor de expr para o grupo. |
| last_value(expr [, ignoreNull]) (último_valor(expr [, ignorarNulos])) | Devolve o último valor de expr para o grupo. |
| listagg(expr [, delimitador]) | Retorna a concatenação de valores não nulos no grupo. |
| max(expr) | Devolve o valor máximo numa coluna ou expressão. |
| max_by(expr1, expr2) | Devolve o valor de expr1 associado com o valor máximo de expr2. |
| média(expr) | Devolve a média calculada numa coluna ou expressão. |
| mediana (expr) | Devolve a mediana de um conjunto de valores. |
| min(expr) | Devolve o valor mínimo numa coluna ou expressão. |
| min_by(expr1, expr2) | Devolve o valor de expr1 associado com o valor mínimo de expr2. |
| modo(expr [, determinístico]) | Devolve o valor mais frequente para expr. |
| percentil (expr, percentagem [, frequência]) | Devolve o valor exato do percentil expr ao percentil especificado num grupo. |
| percentile_approx(expr, percentagem [, precisão]) | Retorna o valor aproximado do percentil de expr no percentil especificado. |
| regr_slope(y, x) | Devolve a inclinação da linha de regressão linear para pares não nulos num grupo. |
| some(expr) | Retorna true se pelo menos um valor de expr no grupo for true. |
| DST (EXPR) | Devolve o desvio padrão de um conjunto de valores. |
| stddev(expr) | Devolve o desvio padrão de um conjunto de valores. |
| stddev_pop(expr) | Devolve o desvio padrão da população de um conjunto de valores. |
| stddev_samp(expr) | Devolve o desvio padrão da amostra de um conjunto de valores. |
| string_agg(expr [, delimitador]) | Retorna a concatenação dos valores de cadeia de caracteres que não são nulos dentro do grupo. |
| sum(expr) | Devolve o total de valores numa coluna ou expressão. |
| variância (expr) | Devolve a variância de um conjunto de valores. |
Operações aritméticas
Você pode combinar expressões com as seguintes operações aritméticas:
| Funcionamento | Description |
|---|---|
| Expr1 % Expr2 | Devolve o restante da divisão expr1 por expr2. |
| multiplicador * multiplicando | Devolve o produto de duas expressões. |
| expr1 + expr2 | Devolve a soma de expr1 e expr2. |
| + EXPR | Retorna o valor da expressão. |
| EXPR1 - EXPR2 | Devolve a diferença ao subtrair expr2 de expr1. |
| - EXPR | Retorna o valor negado da expressão. |
| dividendo / divisor | Devolve o resultado da divisão do dividendo pelo divisor. |
| divisor de dividendos div | Devolve a parte integral da divisão de dividend por divisor. |
| abs(expr) | Devolve o valor absoluto da expressão numérica. |
| ACOS (EXPR) | Devolve o cosseno inverso (arco cosseno) de expr. |
| Asin (EXPR) | Devolve o seno inverso (arco seno) de expr. |
| bround(expr [, d]) | Devolve expr arredondado para d casas decimais utilizando o modo de arredondamento HALF_EVEN. |
| ceil (expr) ou teto (expr) | Devolve o número inteiro mais pequeno não inferior a expr. |
| cos(expr) | Devolve o cosseno de expr. |
| exp(expr) | Retorna e elevado ao poder de expr. |
| floor(expr) | Devolve o número inteiro maior não superior a expr. |
| ln(expr) | Devolve o logaritmo natural da expressão. |
| log(base, expr) | Devolve o logaritmo de expr com o especificado base. |
| log10(expr) | Devolve o logaritmo de base 10 da expressão. |
| mod (expr1, expr2) | Devolve o restante da divisão expr1 por expr2. |
| nullifzero(expr) | Devolve NULL se expr for 0, caso contrário devolve expr. |
| pi() | Devolve o valor de pi. |
| pmod(expr1, expr2) | Devolve o valor positivo de expr1 mod expr2. |
| pow(expr1, expr2) ou potência (expr1, expr2) | Devolve o resultado de expr1 elevado à potência de expr2. |
| radianos(expr) | Converte graus em radianos. |
| rand([semente]) | Devolve um valor aleatório com distribuição uniforme no intervalo de 0 (inclusive) a 1 (exclusivo). |
| redondo(expr [, d]) | Devolve expr arredondado para d casas decimais utilizando HALF_UP modo de arredondamento. |
| sinal(expr) | Devolve o sinal da expressão numérica. |
| sen(expr) | Devolve o seno de expr. |
| sqrt(expr) | Devolve a raiz quadrada de expr. |
| try_add(expr1, expr2) | Adiciona dois valores. Se ocorrer um erro, retorna NULL. |
| try_divide(dividendo, divisor) | Divide o dividendo pelo divisor. Se ocorrer um erro, retorna NULL. |
| try_multiply(multiplicador, multiplicando) | Multiplica dois números. Se ocorrer um erro, retorna NULL. |
| try_subtract(expr1, expr2) | Subtrai expr2 de expr1. Se ocorrer um erro, retorna NULL. |
| zeroifnull(expr) | Devolve 0 se expr é NULL, caso contrário devolve expr. |
Funções e operadores booleanos
Os cálculos personalizados suportam comparação básica e operadores booleanos. Os seguintes operadores e funções são suportados:
| Funcionamento | Description |
|---|---|
| expr1 != expr2 | Devolve true se expr1 não for igual a expr2. |
| !expr | Lógico que não. |
| Expr1 & Expr2 | Retorna o AND bitwise de expr1 e expr2. |
Devolve true se ambos expr1 e expr2 forem 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 | Devolve true se expr1 não for igual a expr2. |
| expr1 < expr2 | Retorna true se expr1 for menor que expr2. |
| expr1 <= expr2 | Devolve true se expr1 for menor ou igual a expr2. |
| expr1 = expr2 | Devolve true se expr1 for igual a expr2. |
| expr1 == expr2 | Devolve true se expr1 for igual a expr2. |
| expr1 > expr2 | Devolve true se expr1 for maior que expr2. |
| expr1 >= expr2 | Devolve true se expr1 for maior ou igual a expr2. |
| expr1 ^ expr2 | Devolve o OR exclusivo bit a bit de expr1 e expr2. |
| expr1 | EXPR2 | Retorna o OR bit a bit de expr1 e expr2. |
| expr1 || EXPR2 | Devolve true se pelo menos um dos expr1 ou expr2 for true. |
| ~EXPR | Devolve o NÃO bit a bit de expr. |
| expr1 e expr2 | Devolve true se ambos expr1 e expr2 forem true. |
| expr entre o valor mínimo e máximo | Testa se expr está dentro do intervalo especificado (sintaxe especial). |
| Padrão Str ilike | Retorna true se str corresponder a pattern (sem diferenciação de maiúsculas e minúsculas). Também pode ser usado como ilike(str, pattern [, escapeChar]). |
| expr em (value1, value2, ...) | Testa se expr corresponde a algum valor em uma lista (sintaxe especial). |
| ISNAN(EXPR) | Devolve true se expr é NaN (não é um número). |
| isnotnull(expr) | Devolve true se expr não for NULL. |
| isnull(expr) | Devolve true se expr é NULL. |
| Padrão tipo str | Retorna true se str corresponder a pattern. Também pode ser usado como like(str, pattern [, escapeChar]). |
| não expr | Negação lógica (operador de prefixo) Também pode ser usado como not(expr). |
| expr1 ou expr2 | Devolve true se pelo menos um dos expr1 ou expr2 for 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 transmissão
Use as seguintes funções para converter valores para um tipo especificado:
| Função | Description |
|---|---|
| expr :: tipo | Converte o valor expr para o tipo typede dados de destino. |
| bigint(expr) | Converte o valor expr em BIGINT. |
| Booleano (EXPR) | Converte o valor expr em BOOLEAN. |
| cast (tipo expr AS) | Converte o valor expr para o tipo typede dados de destino. |
| date(expr) | Converte o valor expr em DATE. |
| decimal(expr [, p [, s]]) | Projeta 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 para uma data. |
| to_timestamp(EXPR [, FMT]) | Converte o expr com o fmt em um carimbo de data/hora. |
| try_cast (tipo AS expr) | Converte o valor expr para o tipo type de dados de destino com segurança. |
| try_to_timestamp(expr [, fmt]) | Analisa o expr com o fmt para converter com segurança para um carimbo de data/hora. |
Funções de data, marca temporal e intervalo
Use as seguintes funções para trabalhar com datas, marcas temporais e intervalos:
| Função | Description |
|---|---|
| add_months(start_date, num_months) | Devolve a data que é num_months depois de start_date. |
| Curdate() | Devolve a data atual. |
| current_date() | Devolve a data atual. |
| current_timestamp() | Retorna o carimbo de data/hora atual. |
| date_add(start_date, num_days) | Devolve a data que é num_days depois de start_date. |
| date_diff(DataFim, DataInício) | Devolve o número de dias de startDate para endDate. |
| date_format(EXPR, FMT) | Converte um timestamp em uma string no formato fmt. |
| date_part(campo, fonte) | Extrai uma parte específica, como ano, mês ou dia, de um carimbo de data ou hora. |
| date_sub(start_date, num_days) | Devolve a data anterior num_days a start_date. |
| date_trunc(FMT, fonte) | Trunca uma data ou selo de hora para uma unidade de tempo especificada, como ano ou mês. |
| dateadd(unidade, valor, expr) | Adiciona o intervalo de tempo especificado a um carimbo de data ou hora. |
| datediff(inícioData, fimData) | Devolve o número de dias de startDate para endDate. |
| dia(expr) | Devolve o dia do mês de uma data ou de um timestamp. |
| dayname(expr) | Retorna o nome do dia da semana a partir da data ou timestamp. |
| dias_do_mês(expr) | Devolve o dia do mês de uma data ou de um timestamp. |
| diaDaSemana(expr) | Devolve o dia da semana a partir do carimbo de data ou hora (1 = domingo, 7 = sábado). |
| diadoano(expr) | Retorna o dia do ano a partir da data ou timestamp. |
| extract(campo FROM source) | Extrai uma parte da data ou carimbo de hora. |
| from_unixtime(unix_time [, fmt]) | Converte o número de segundos da Unix epoch em uma marcação de data/hora. |
| from_utc_timestamp(carimbo temporal, fuso horário) | Interpreta o carimbo de data/hora fornecido como UTC e converte para o fuso horário determinado. |
| getdate() | Retorna o carimbo de data/hora atual. |
| hora (expr) | Retorna o componente de hora do carimbo de data/hora. |
| last_day(expr) | Devolve o último dia do mês ao qual o timestamp ou a data 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, seg [, fuso horário]) | Cria um carimbo de data/hora a partir dos campos ano, mês, dia, hora, minuto, segundo e, opcionalmente, fuso horário. |
| minuto(expr) | Retorna o componente minuto do carimbo de data/hora. |
| mês(expr) | Retorna o componente do mês da data ou do carimbo de data/hora. |
| months_between(timestamp1, timestamp2 [, roundOff]) | Devolve o número de meses entre timestamp1 e timestamp2. |
| próximo_dia(data_inicial, dia_da_semana) | Retorna a primeira data que é posterior a start_date e é nomeada como day_of_week. |
| now() | Retorna o carimbo de data/hora atual. |
| trimestre (expr) | Devolve o trimestre do ano para a data ou o carimbo de tempo (1 a 4). |
| segundo (expr) | Retorna o segundo componente do carimbo de data/hora. |
| timediff(fimData, DataInício) | Devolve a diferença entre dois carimbos de data/hora expressa em unidades. |
| timestamp_micros (microssegundos) | Cria um carimbo de data/hora a partir do número de microssegundos desde a época do Unix. |
| timestamp_millis (milissegundos) | Cria um carimbo de data/hora a partir do número de milissegundos desde a época do Unix. |
| timestamp_seconds (segundos) | Cria uma marca temporal a partir do número de segundos desde a época Unix. |
| timestampadd(unidade, valor, timestamp) | Adiciona o intervalo de tempo especificado a um timestamp. |
| timestampdiff(unidade, início, fim) | Devolve a diferença entre dois carimbos de data/hora expressa em unidades. |
| to_date(expr [, fmt]) | Converte o expr e o fmt para 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 da hora dada. |
| to_utc_timestamp(carimbo temporal, fuso horário) | Interpreta o timestamp fornecido no fuso horário especificado e converte para UTC. |
| trunc(expr, fmt) | Retorna expr com a parte temporal do dia truncada à unidade especificada pelo modelo de formato fmt. |
| unix_micros(timestamp) | Devolve o número de microssegundos desde a época Unix. |
| unix_millis(marca temporal) | Devolve o número de milissegundos desde a época Unix. |
| unix_seconds(timestamp) | Devolve o número de segundos desde a época Unix. |
| unix_timestamp([expr [, fmt]]) | Retorna o carimbo de data/hora Unix da hora dada. |
| Dia da semana(EXPR) | Devolve o dia da semana a partir do carimbo de data ou hora (0 = segunda-feira, 6 = domingo). |
| Semana do Ano (EXPR) | Devolve a semana do ano a partir da data ou timestamp. |
| ano(expr) | Devolve o componente de ano da data ou do carimbo de data/hora. |
Funções de cadeia de caracteres
Use as seguintes funções para transformar cadeias de caracteres. Para transformar cadeias de caracteres datetime, consulte Funções de transmissão.
| 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(exr1, expr2 [, ...]) | Devolve a concatenação dos argumentos. |
| concat_ws(Sep [, expr1 [, ...]]) | Retorna a concatenação de cadeias de caracteres separadas por sep. |
| contains(left, right) | Devolve true se right for encontrado em left. |
| convert_timezone(sourceTz, targetTz, sourceTs) | Converte o carimbo de data/hora sourceTs do fuso horário sourceTz para o fuso horário targetTz. |
| decodificar (expr, charSet) | Traduz binário expr para uma cadeia de caracteres usando a codificação charSet do conjunto de caracteres. |
| termina com (esquerda, direita) | Retorna true se left terminar com right. |
| find_in_set(str, str_array) | Devolve o índice (baseado em 1) da cadeia de caracteres fornecida na lista delimitada por vírgula. |
| format_number(expr, escala) | Formatos expr como #,###,###.##, arredondado para scale casas decimais. |
| format_string(formato, expr [, ...]) | Retorna uma cadeia de caracteres formatada a partir de strings de formato ao estilo printf. |
| hex (expr) | Converte expr em hexadecimal. |
| initcap(str) | Retorna str com a primeira letra de cada palavra em maiúsculas. |
| instr(str, substr) | Devolve a posição da primeira ocorrência de substr in str. |
| lcase(str) | Retorna str com todos os caracteres alterados para minúsculas. |
| esquerda(texto, len) | Retorna os primeiros len caracteres da string 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 [, limiar]) | Retorna a distância de Levenshtein entre as duas cadeias de caracteres fornecidas. |
| localizar(substr, str [, pos]) | Retorna a posição da primeira ocorrência de substr em str após a posição pos. |
| inferior (str) | Retorna str com todos os caracteres alterados para minúsculas. |
| lpad(str, len [, pad]) | Retorna str preenchido à esquerda com pad até um comprimento de len. |
| ltrim(str [, trimStr]) | Remove caracteres principais do str. |
| MD5 (EXPR) | Retorna uma soma de verificação MD5 de 128 bits como uma cadeia de caracteres hexadecimal. |
| parse_url(url, partToExtract [, chave]) | Extrai uma parte de url. |
| posição(substr, str [, pos]) | Retorna a posição da primeira ocorrência de substr em str após a posição pos. |
| printf (formato, expr [, ...]) | Retorna uma cadeia de caracteres formatada a partir de strings de formato ao estilo printf. |
| regexp_count(str, regexp) | Retorna o número de vezes que a expressão regular regexp corresponde em str. |
| regexp_extract(str, regexp [, idx]) | Extrai um grupo que corresponde ao regexp. |
| regexp_instr(string, regexp) | Devolve a posição da primeira partida de regexp in str. |
| regexp_replace(str, regexp, rep [, posição]) | Substitui todas as substrings de str que correspondem a regexp por rep. |
| regexp_substr(força, regexp) | Retorna a substring que corresponde à expressão regular regexp dentro de str. |
| repetir(str, n) | Retorna a cadeia de caracteres que repete strn vezes. |
| replace(str, search [, substituir]) | Substitui todas as ocorrências de search com replace em str. |
| reverso(str) | Retorna str com a ordem dos caracteres invertida. |
| direita (força, len) | Retorna os últimos len caracteres à direita da cadeia de caracteres str. |
| rtrim([trimStr,] str) | Retorna str com caracteres finais removidos. |
| sha2(expr, bitLength) | Retorna a família SHA-2 de funções hash. |
| split_part(str, delimitador, partNum) | Divide str por delimiter e devolve a parte solicitada. |
| startswith(esquerda, direita) | Retorna true se left começar com right. |
| substr(str, pos [, len]) | Retorna a substring de str a partir de pos com comprimento len. |
| substring(str, pos [, len]) | Retorna a substring de str a partir de pos com comprimento len. |
| substring_index(str, delim, count) | Retorna a substring antes das count ocorrências de delim. |
| to_char(expr [, fmt]) | Converte expr para uma string. |
| to_number(EXPR [, FMT]) | Converte string expr em um número. |
| traduzir(entrada, de, para) | Traduz input substituindo caracteres em from por caracteres correspondentes em to. |
| trim(str [, trimStr]) | Remove caracteres no início e no fim do str. |
| ucase(str) | Retorna str com todos os caracteres alterados para maiúsculas. |
| superior (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
As seguintes funções também são suportadas:
| Função | Description |
|---|---|
| AGREGAR MAIS | Calcula valores em intervalos de tempo ou outros conjuntos ordenados para medidas. |
| CASE expr { QUANDO opt1 ENTÃO res1 } [...] [ELSE def] FIM | Devolve resN para o primeiro optN que é igual a expr ou def se nenhum corresponder. |
| CASO { QUANDO cond1 ENTÃO res1 } [...] [ELSE def] FIM | Retorna resN para o primeiro condN que avalia como verdadeiro, ou def se nenhum for encontrado. |
| coalesce (expr1, expr2 [, ...]) | Retorna o primeiro argumento não nulo. |
| decodificar(expr, pesquisar, resultado [, pesquisar, resultado]... [, padrão]) | Compara expr com cada valor de pesquisa e retorna o resultado correspondente. |
| get_json_object(json_txt, caminho) | Extrai um objeto JSON de json_txt na localização indicada path. |
| máximo(expr [, ...]) | Retorna o maior valor de todos os parâmetros. |
| hash(expr1 [, expr2 ...]) | Retorna um valor de hash dos argumentos. |
| if(condição, valor_verdadeiro, valor_falso) | Devolve true_value se condition é true, caso contrário devolve false_value. |
| iff(condição, valor_verdadeiro, valor_falso) | Devolve true_value se condition é true, caso contrário devolve false_value. |
| ifnull(expr1, expr2) | Retorna expr2 se expr1 é null, ou expr1 de outra forma. |
| json_array_length(jsonArray) | Retorna o número de elementos na matriz JSON mais externa. |
| mínimo(expr [, ...]) | Retorna o menor valor de todos os parâmetros. |
| monotonically_increasing_id() | Retorna números inteiros de 64 bits monotonicamente crescentes. |
| nullif(expr1, expr2) | Devolve NULL se expr1 for igual a expr2, caso contrário devolve expr1. |
| NVL (expr1, expr2) | Retorna expr2 se expr1 é NULL, ou expr1 de outra forma. |
| 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. |