Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Funções compatíveis

Última atualização: Jun 27, 2026

O Realtime Compute for Apache Flink oferece suporte a três categorias de funções integradas: funções escalares, funções com valor de tabela e funções de agregação. Caso as funções integradas não atendam ao seu caso de uso, utilize funções definidas pelo usuário (UDFs).

As tabelas a seguir listam todas as funções integradas disponíveis no Realtime Compute for Apache Flink com base no Apache Flink 1.15. As funções disponíveis variam conforme a versão do Apache Flink. Consulte a documentação oficial para 1.12, 1.13, 1.14, 1.15, 1.16 e 1.17. O Ververica Runtime (VVR) 3.0.0 também adiciona funções integradas extras além daquelas presentes no Apache Flink 1.12. Consulte Funções escalares, Funções com valor de tabela e Funções de agregação.

Limitações

O VVR 11.1 e versões posteriores permitem chamar funções integradas em jobs da Table API usando texto SQL.

Funções escalares

Funções de comparação

Função

Descrição

value1 = value2

Retorna TRUE se value1 for igual a value2.

value1 \<\> value2

Retorna TRUE se value1 não for igual a value2.

value1 \> value2

Retorna TRUE se value1 for maior que value2.

value1 \>= value2

Retorna TRUE se value1 for maior ou igual a value2.

value1 \< value2

Retorna TRUE se value1 for menor que value2.

value1 \<= value2

Retorna TRUE se value1 for menor ou igual a value2.

value IS NULL

Retorna TRUE se value for NULL.

value IS NOT NULL

Retorna TRUE se value não for NULL.

value1 IS DISTINCT FROM value2

Retorna TRUE se value1 e value2 diferirem em tipo de dado ou valor. Valores NULL são tratados como iguais.

value1 IS NOT DISTINCT FROM value2

Retorna TRUE se value1 e value2 possuírem o mesmo tipo de dado e valor. Valores NULL são tratados como iguais.

[value1 BETWEEN \[ASYMMETRIC

SYMMETRIC\] value2 AND value3](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Por padrão (ou com ASYMMETRIC), retorna TRUE se value1 estiver entre value2 e value3 (inclusive).

[value1 NOT BETWEEN \[ASYMMETRIC

SYMMETRIC\] value2 AND value3](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Por padrão (ou com ASYMMETRIC), retorna TRUE se value1 for menor que value2 ou maior que value3.

[string1 LIKE string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Retorna TRUE se string1 corresponder ao padrão string2.

[string1 NOT LIKE string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Retorna TRUE se string1 não corresponder ao padrão string2.

[string1 SIMILAR TO string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Retorna TRUE se string1 corresponder à expressão regular SQL string2.

[string1 NOT SIMILAR TO string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Retorna TRUE se string1 não corresponder à expressão regular SQL string2.

[value1 IN (value2 \[, value3\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Retorna TRUE se value1 existir na lista.

[value1 NOT IN (value2 \[, value3\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Retorna TRUE se value1 não existir na lista.

EXISTS (sub-query)

Retorna TRUE se a subconsulta retornar pelo menos uma linha.

value IN (sub-query)

Retorna TRUE se value for igual a uma linha no conjunto de resultados da subconsulta.

value NOT IN (sub-query)

Retorna TRUE se value não estiver em nenhuma linha retornada pela subconsulta.

Funções lógicas

Função

Descrição

BITAND

Executa uma operação bitwise AND.

BITNOT

Executa uma operação bitwise NOT.

BITOR

Executa uma operação bitwise OR.

BITXOR

Executa uma operação bitwise XOR.

boolean1 OR boolean2

Retorna TRUE se boolean1 ou boolean2 for TRUE.

boolean1 AND boolean2

Retorna TRUE se tanto boolean1 quanto boolean2 forem TRUE.

NOT boolean

Retorna TRUE se boolean for FALSE; retorna FALSE se boolean for TRUE; retorna UNKNOWN se boolean for UNKNOWN.

boolean IS FALSE

Retorna TRUE se boolean for FALSE; retorna FALSE se boolean for TRUE ou UNKNOWN.

boolean IS NOT FALSE

Retorna TRUE se boolean for TRUE ou UNKNOWN; retorna FALSE se boolean for FALSE.

boolean IS TRUE

Retorna TRUE se boolean for TRUE; retorna FALSE se boolean for FALSE ou UNKNOWN.

boolean IS NOT TRUE

Retorna TRUE se boolean for FALSE ou UNKNOWN; retorna FALSE se boolean for TRUE.

boolean IS UNKNOWN

Retorna TRUE se boolean for UNKNOWN; retorna FALSE se boolean for TRUE ou FALSE.

boolean IS NOT UNKNOWN

Retorna TRUE se boolean for TRUE ou FALSE; retorna FALSE se boolean for UNKNOWN.

Funções aritméticas

Função

Descrição

+ numeric

Retorna o valor numérico.

- numeric

Retorna a negação de numeric.

numeric1 + numeric2

Retorna a soma de numeric1 e numeric2.

numeric1 - numeric2

Retorna a diferença entre numeric1 e numeric2.

numeric1 \* numeric2

Retorna o produto de numeric1 e numeric2.

numeric1 / numeric2

Retorna o quociente da divisão de numeric1 por numeric2.

numeric1 % numeric2

Retorna o resto da divisão de numeric1 por numeric2.

POWER(numeric1, numeric2)

Retorna numeric1 elevado à potência de numeric2.

ABS(numeric)

Retorna o valor absoluto de numeric.

SQRT(numeric)

Retorna a raiz quadrada de numeric.

LN(numeric)

Retorna o logaritmo natural (base e) de numeric.

LOG10(numeric)

Retorna o logaritmo na base 10 de numeric.

LOG2(numeric)

Retorna o logaritmo na base 2 de numeric.

[LOG(numeric2)

LOG(numeric1, numeric2)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#arithmetic-functions)

Com um argumento, retorna o logaritmo natural de numeric2. Com dois argumentos, retorna o logaritmo de numeric2 na base numeric1. Requer numeric2 > 0 e numeric1 > 1.

EXP(numeric)

Retorna e elevado à potência de numeric.

[CEIL(numeric)

CEILING(numeric)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#arithmetic-functions)

Arredonda numeric para cima até o inteiro mais próximo.

FLOOR(numeric)

Arredonda numeric para baixo até o inteiro mais próximo.

SIN(numeric)

Retorna o seno de numeric.

SINH(numeric)

Retorna o seno hiperbólico de numeric. Retorna DOUBLE.

COS(numeric)

Retorna o cosseno de numeric.

TAN(numeric)

Retorna a tangente de numeric.

TANH(numeric)

Retorna a tangente hiperbólica de numeric. Retorna DOUBLE.

COT(numeric)

Retorna a cotangente de numeric.

ASIN(numeric)

Retorna o arco seno de numeric.

ACOS(numeric)

Retorna o arco cosseno de numeric.

ATAN(numeric)

Retorna o arco tangente de numeric.

ATAN2(numeric1, numeric2)

Retorna o arco tangente da coordenada (numeric1, numeric2).

COSH(numeric)

Retorna o cosseno hiperbólico de numeric. Retorna DOUBLE.

DEGREES(numeric)

Converte radianos para graus.

RADIANS(numeric)

Converte graus para radianos.

SIGN(numeric)

Retorna o sinal de numeric.

ROUND(numeric, INT)

Arredonda numeric para INT casas decimais.

PI()

Retorna um valor próximo de π.

E()

Retorna um valor próximo de e.

RAND()

Retorna um double pseudoaleatório no intervalo [0,0, 1,0).

RAND(INT)

Retorna um double pseudoaleatório no intervalo [0,0, 1,0) com semente INT.

RAND_INTEGER(INT)

Retorna um inteiro pseudoaleatório no intervalo [0, INT).

RAND_INTEGER(INT1, INT2)

Retorna um inteiro pseudoaleatório no intervalo [0, INT2) com semente INT1.

UUID()

Retorna uma string UUID pseudoaleatória (RFC 4122 Tipo 4).

BIN(INT)

Retorna a representação em string binária de INT.

[HEX(numeric)

HEX(string)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#arithmetic-functions)

Retorna a representação em string hexadecimal de um número ou string.

TRUNCATE(numeric1, integer2)

Trunca numeric1 para integer2 casas decimais.

UNHEX(expr)

Converte uma string hexadecimal para BINARY.

[PERCENTILE(expr, percentage\[, frequency\])](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#arithmetic-functions)

Retorna o valor exato do percentil de expr na porcentagem especificada.

Funções de string

Função

Descrição

[string1

string2](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Retorna a concatenação de string1 e string2.

[CHAR_LENGTH(string)

CHARACTER_LENGTH(string)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Retorna o número de caracteres em string.

UPPER(string)

Retorna string em maiúsculas.

LOWER(string)

Retorna string em minúsculas.

POSITION(string1 IN string2)

Retorna a posição (baseada em 1) da primeira ocorrência de string1 em string2. Retorna 0 se não for encontrada.

[TRIM(\[BOTH

LEADING

TRAILING\] string1 FROM string2)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Remove ocorrências iniciais, finais ou ambas de string1 em string2. Por exemplo, TRIM(TRAILING 'fe' FROM 'abcdef') retorna 'abcd'.

LTRIM(string)

Remove espaços à esquerda de string.

RTRIM(string)

Remove espaços à direita de string.

REPEAT(string, int)

Retorna string repetida int vezes.

REGEXP_REPLACE

Substitui ocorrências de um padrão em uma string e retorna o resultado.

[OVERLAY(string1 PLACING string2 FROM integer1 \[FOR integer2\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Substitui integer2 caracteres em string1, começando na posição integer1, por string2. O padrão para integer2 é o comprimento de string2.

[SUBSTRING(string FROM integer1 \[FOR integer2\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Retorna uma substring de string começando na posição integer1. Se integer2 for especificado, limita o comprimento a integer2 caracteres.

REPLACE(string1, string2, string3)

Substitui todas as ocorrências não sobrepostas de string2 em string1 por string3.

[REGEXP_EXTRACT(string1, string2\[, integer\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Divide string1 usando a expressão regular string2 e retorna a substring na posição integer.

INITCAP(string)

Coloca a primeira letra de cada palavra em maiúscula e as demais em minúscula.

CONCAT(string1, string2, ...)

Concatena múltiplas strings. Retorna NULL se qualquer entrada for NULL.

CONCAT_WS(string1, string2, string3, ...)

Concatena string2, string3, ... usando string1 como separador.

LPAD(string1, integer, string2)

Preenche string1 à esquerda com string2 até atingir o comprimento integer.

RPAD(string1, integer, string2)

Preenche string1 à direita com string2 até atingir o comprimento integer.

FROM_BASE64(string)

Decodifica uma string codificada em Base64.

TO_BASE64(string)

Codifica string usando Base64.

ASCII(string)

Retorna o código ASCII do primeiro caractere em string.

CHR(integer)

Retorna o caractere ASCII correspondente a integer.

DECODE(binary, string)

Decodifica binary usando a codificação especificada (US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE ou UTF-16).

ENCODE(string1, string2)

Codifica string1 usando a codificação especificada por string2 (US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE ou UTF-16).

INSTR(string1, string2)

Retorna a posição da primeira ocorrência de string2 em string1.

LEFT(string, integer)

Retorna os integer caracteres mais à esquerda de string.

RIGHT(string, integer)

Retorna os integer caracteres mais à direita de string.

[LOCATE(string1, string2\[, integer\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Retorna a posição da primeira ocorrência de string1 em string2, começando a partir de integer.

PARSE_URL

Analisa uma parte específica de uma URL e retorna o valor.

REGEXP

Busca um padrão de expressão regular em uma string e retorna um booleano.

REGEXP_SUBSTR(str, regex)

Retorna a primeira substring em str que corresponde a regex.

REGEXP_INSTR(str, regex)

Retorna a posição da primeira substring em str que corresponde a regex.

REGEXP_COUNT(str, regex)

Retorna o número de vezes que str corresponde a regex.

[REGEXP_EXTRACT_ALL(str, regex\[, extractIndex\])](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions)

Extrai todas as substrings em str que correspondem a regex e ao grupo extractIndex.

REVERSE(string)

Retorna string em ordem inversa.

SPLIT_INDEX

Divide uma string por um delimitador e retorna o elemento em uma posição especificada.

[STR_TO_MAP(string1\[, string2, string3\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Divide string1 em pares chave-valor usando delimitadores e retorna um mapa.

[SUBSTR(string\[, integer1\[, integer2\]\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Retorna uma substring de string começando em integer1 com comprimento integer2.

[PRINTF(format\[, obj\]\*)](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions)

Retorna uma string formatada usando formatação estilo printf.

TRANSLATE(expr, fromStr, toStr)

Substitui cada caractere em fromStr pelo caractere correspondente em toStr.

[ELT(index, expr\[, exprs\]\*)](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions)

Retorna a expressão na posição index (baseada em 1).

[BTRIM(str\[, trimStr\])](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions)

Remove caracteres iniciais e finais presentes em trimStr de str. O padrão é espaço em branco.

STARTSWITH(expr, startExpr)

Retorna TRUE se expr começar com startExpr. Retorna TRUE se startExpr estiver vazio.

ENDSWITH(expr, endExpr)

Retorna TRUE se expr terminar com endExpr. Retorna TRUE se endExpr estiver vazio.

Funções de tempo

Função

Descrição

DATE string

Retorna um valor SQL DATE analisado a partir de uma string no formato yyyy-MM-dd.

DATEDIFF

Calcula a diferença entre dois valores de data.

DATE_ADD

Retorna uma data que corresponde a um número especificado de dias após uma data fornecida.

DATE_SUB

Retorna uma data que corresponde a um número especificado de dias antes de uma data fornecida.

TIME string

Retorna um valor SQL TIME analisado a partir de uma string no formato HH:mm:ss.

TIMESTAMP string

Retorna um valor SQL TIMESTAMP analisado a partir de uma string no formato yyyy-MM-dd HH:mm:ss[.SSS].

INTERVAL string range

Analisa intervalos em milissegundos a partir do formato dd hh:mm:ss.fff ou em meses a partir do formato yyyy-mm.

LOCALTIME

Retorna a hora local atual como SQL TIME(0).

LOCALTIMESTAMP

Retorna o timestamp local atual como SQL TIMESTAMP(3).

CURRENT_TIME

Retorna a hora local atual como SQL TIME. Equivalente a LOCALTIME.

CURRENT_DATE

Retorna a data local atual como SQL DATE.

CURRENT_TIMESTAMP

Retorna o timestamp local atual como SQL TIMESTAMP.

NOW()

Retorna o timestamp local atual como SQL TIMESTAMP. Equivalente a CURRENT_TIMESTAMP.

CURRENT_ROW_TIMESTAMP()

Retorna o timestamp local atual como SQL TIMESTAMP.

EXTRACT(timeintervalunit FROM temporal)

Extrai um valor LONG para a unidade de intervalo de tempo especificada de temporal.

YEAR(date)

Retorna o componente ano de um valor SQL DATE.

QUARTER(date)

Retorna o componente trimestre de um valor SQL DATE.

MONTH(date)

Retorna o componente mês de um valor SQL DATE.

WEEK(date)

Retorna o número da semana do ano para um valor SQL DATE.

DAYOFYEAR(date)

Retorna o número do dia do ano para um valor SQL DATE.

DAYOFMONTH(date)

Retorna o número do dia do mês para um valor SQL DATE.

HOUR(timestamp)

Retorna o componente hora de um valor SQL TIMESTAMP.

MINUTE(timestamp)

Retorna o componente minuto de um valor SQL TIMESTAMP.

SECOND(timestamp)

Retorna o componente segundo de um valor SQL TIMESTAMP.

FLOOR(timepoint TO timeintervalunit)

Arredonda timepoint para baixo até a unidade de intervalo de tempo mais próxima.

CEIL(timepoint TO timeintervalunit)

Arredonda timepoint para cima até a unidade de intervalo de tempo mais próxima.

(timepoint1, temporal1) OVERLAPS (timepoint2, temporal2)

Retorna TRUE se os dois intervalos de tempo se sobrepuserem.

DATE_FORMAT

Formata um valor de data STRING usando um padrão especificado.

DATE_FORMAT_TZ

Formata um valor TIMESTAMP como uma STRING em um fuso horário e formato especificados.

TIMESTAMPADD(timeintervalunit, interval, timepoint)

Adiciona um intervalo a timepoint e retorna o novo ponto no tempo.

TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2)

Retorna o intervalo de tempo entre timepoint1 e timepoint2.

CONVERT_TZ(string1, string2, string3)

Converte a data e hora string1 do fuso horário string2 para o fuso horário string3. Espera o formato yyyy-MM-dd HH:mm:ss.

FROM_UNIXTIME

Retorna um valor de data VARCHAR a partir de um timestamp Unix.

UNIX_TIMESTAMP

Converte um valor de data para um timestamp Unix.

TO_DATE

Converte um valor de data INT ou VARCHAR para o tipo de dado DATE.

TO_TIMESTAMP_LTZ(numeric, precision)

Converte um timestamp Unix para TIMESTAMP_LTZ (milissegundos ou segundos).

[TO_TIMESTAMP(string1\[, string2\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#temporal-functions)

Converte string1 em UTC+0 para um timestamp. O formato padrão de string2 é yyyy-MM-dd HH:mm:ss.

TO_TIMESTAMP_TZ

Converte um valor de data VARCHAR para um TIMESTAMP em um fuso horário especificado.

CURRENT_WATERMARK(rowtime)

Retorna a marca d'água atual para a coluna rowtime.

Funções condicionais

Função

Descrição

[CASE value WHEN value1\_1 \[, value1\_2\]\* THEN result1 (WHEN value2\_1 \[, value2\_2\]\* THEN result2)\* (ELSE result\_z) END](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions)

Retorna resultX se value corresponder a qualquer valor na lista valueX.

CASE WHEN condition1 THEN result1 (WHEN condition2 THEN result2)\* (ELSE result\_z) END

Retorna resultX para a primeira condição conditionX que for TRUE.

NULLIF(value1, value2)

Retorna NULL se value1 for igual a value2; caso contrário, retorna value1.

[COALESCE(value1, value2\[, value3\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions)

Retorna o primeiro valor não NULL entre os argumentos.

IF(condition, true\_value, false\_value)

Retorna true\_value se condition for TRUE; caso contrário, retorna false\_value.

IFNULL(input, null\_replacement)

Retorna null\_replacement se input for NULL; caso contrário, retorna input.

IS_ALPHA(string)

Retorna TRUE se todos os caracteres em string forem letras.

IS_DECIMAL(string)

Retorna TRUE se string puder ser analisada como um número válido.

IS_DIGIT(string)

Retorna TRUE se todos os caracteres em string forem dígitos.

[GREATEST(value1\[, value2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions)

Retorna o valor máximo entre os argumentos. Retorna NULL se qualquer entrada for NULL.

[LEAST(value1\[, value2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions)

Retorna o valor mínimo entre os argumentos. Retorna NULL se qualquer entrada for NULL.

Funções de conversão de tipo de dado

Função

Descrição

CONV

Converte valores numéricos ou caracteres entre bases.

CAST(value AS type)

Converte value para o tipo especificado.

[TYPEOF(input)

TYPEOF(input, force\_serializable)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#type-conversion-functions)

Retorna a representação em string do tipo de dado de input.

Funções de coleção

Função

Descrição

CARDINALITY(array)

Retorna o número de elementos em array.

[array\[INT\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#collection-functions)

Retorna o elemento na posição INT em array.

ELEMENT(array)

Retorna o único elemento de array se sua cardinalidade for 1.

CARDINALITY(map)

Retorna o número de entradas em map.

[map\[value\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#collection-functions)

Retorna o valor associado à chave especificada no mapa.

Funções json

Função

Descrição

[IS JSON \[{ VALUE

SCALAR

ARRAY

OBJECT }\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Retorna TRUE se a entrada for uma string json válida.

[JSON_EXISTS(jsonValue, path \[{ TRUE

FALSE

UNKNOWN

ERROR } ON ERROR\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Retorna TRUE se uma string json satisfizer a condição de caminho especificada.

JSON_STRING(value)

Serializa value em uma string json.

JSON_VALUE

Extrai um valor escalar no caminho especificado de uma string json.

[JSON_QUERY(jsonValue, path \[wrapper\] \[ON EMPTY\] \[ON ERROR\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Extrai um valor json de uma string json.

[JSON_OBJECT(\[\[KEY\] key VALUE value\]\* \[{ NULL

ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Constrói um objeto json a partir de pares chave-valor.

[JSON_OBJECTAGG(\[KEY\] key VALUE value \[{ NULL

ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Agrega expressões chave-valor em um objeto json.

[JSON_ARRAY(\[value\]\* \[{ NULL

ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Constrói um array json a partir de uma lista de valores.

[JSON_ARRAYAGG(items \[{ NULL

ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Agrega itens em uma string de array json.

JSON_QUOTE

Envolve uma string em aspas duplas como um valor json.

JSON_UNQUOTE

Remove as aspas json de um valor.

Funções de construção de valor

Função

Descrição

[(value1 \[, value2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#value-construction-functions)

Retorna uma linha construída a partir dos valores fornecidos.

[ARRAY\[value1 \[, value2\]\*\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#value-construction-functions)

Retorna um array construído a partir dos valores fornecidos.

[MAP\[value1, value2 \[, value3, value4\]\*\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#value-construction-functions)

Retorna um mapa construído a partir dos pares chave-valor fornecidos.

Funções de obtenção de valor

Função

Descrição

tableName.compositeType.field

Extrai o valor de um campo de um tipo composto, como Tuple ou POJO.

tableName.compositeType.\*

Expande um tipo composto, como Tuple ou POJO, em campos separados.

Funções de agrupamento

Função

Descrição

GROUP_ID()

Retorna um inteiro que identifica exclusivamente uma combinação de chaves de agrupamento.

[GROUPING(expression1 \[, expression2\]\*)

GROUPING_ID(expression1 \[, expression2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#grouping-functions)

Retorna um vetor de bits representando o status de agrupamento das expressões fornecidas.

Funções de hash

Função

Descrição

MD5(string)

Retorna o hash MD5 de string como uma string hexadecimal de 32 caracteres.

SHA1(string)

Retorna o hash SHA-1 de string como uma string hexadecimal de 40 caracteres.

SHA224(string)

Retorna o hash SHA-224 de string como uma string hexadecimal de 56 caracteres.

SHA256(string)

Retorna o hash SHA-256 de string como uma string hexadecimal de 64 caracteres.

SHA384(string)

Retorna o hash SHA-384 de string como uma string hexadecimal de 96 caracteres.

SHA512(string)

Retorna o hash SHA-512 de string como uma string hexadecimal de 128 caracteres.

SHA2(string, hashLength)

Retorna um hash usando SHA-224, SHA-256, SHA-384 ou SHA-512, dependendo de hashLength.

MURMUR_HASH

Calcula o hash Murmur de 32 bits da entrada.

MURMUR_HASH_64

Calcula o hash Murmur de 64 bits da entrada usando o algoritmo Murmur 128.

Outras funções escalares

Função

Descrição

ISNAN

Retorna TRUE se o número de ponto flutuante especificado for NaN (equivalente a Double.isNaN() ou Float.isNaN() em Java).

KEYVALUE

Divide uma string em pares chave-valor usando split1 como delimitador de par e split2 como delimitador chave-valor, e então retorna o valor para a chave especificada.

Funções com valor de tabela

Função

Descrição

GENERATE_SERIES

Gera uma série de valores seguindo o padrão from, from+1, from+2 ... to-1.

JSON_TUPLE

Extrai valores em cada caminho especificado de uma string json.

MULTI_KEYVALUE

Divide uma string em pares chave-valor usando split1 como delimitador de par e split2 como delimitador chave-valor, e então retorna os valores para as chaves especificadas.

STRING_SPLIT

Divide uma string em substrings usando um delimitador especificado e as retorna como uma lista.

Funções de agregação

Nota

A partir do VVR 11.6, as funções de variância e desvio padrão usam algoritmos aprimorados para melhor precisão de cálculo. Essa alteração causa incompatibilidade de estado — jobs que utilizam essas funções exigem uma reinicialização sem estado. Para manter o comportamento anterior, defina table.exec.legacy-stddev-behaviour como true. Funções afetadas: STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP.

Função

Descrição

[COUNT(\[ALL\] expression

DISTINCT expression1 \[, expression2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o número de linhas de entrada não NULL para expression (ALL por padrão).

[COUNT(\*)

COUNT(1)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o número total de linhas de entrada.

[AVG(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna a média de expression em todas as linhas de entrada (ALL por padrão).

[SUM(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna a soma de expression em todas as linhas de entrada (ALL por padrão).

[MAX(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o valor máximo de expression em todas as linhas de entrada (ALL por padrão).

[MIN(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o valor mínimo de expression em todas as linhas de entrada (ALL por padrão).

[STDDEV_POP(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o desvio padrão populacional de expression (ALL por padrão).

[STDDEV_SAMP(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o desvio padrão amostral de expression (ALL por padrão).

[VAR_POP(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna a variância populacional de expression (ALL por padrão).

[VAR_SAMP(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna a variância amostral de expression (ALL por padrão).

[COLLECT(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Coleta valores de expression em todas as linhas de entrada em um multiconjunto (ALL por padrão).

[VARIANCE(\[ALL

DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Equivalente a VAR_SAMP().

RANK()

Retorna a classificação de um valor dentro de um grupo de valores.

DENSE_RANK()

Retorna a classificação densa de um valor, incrementando em 1 para cada valor distinto.

ROW_NUMBER()

Retorna o número sequencial da linha dentro de uma partição de janela, começando em 1.

[LEAD(expression \[, offset\] \[, default\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o valor de expression da linha situada offset posições após a linha atual. Não há suporte no modo streaming.

[LAG(expression \[, offset\] \[, default\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Retorna o valor de expression da linha situada offset posições antes da linha atual.

[LISTAGG(expression \[, separator\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Concatena valores de string de expression, separados por separator.

APPROX_COUNT_DISTINCT

Retorna uma contagem aproximada de valores distintos. Use em vez de COUNT(DISTINCT) para melhorar o desempenho do job.

FIRST_VALUE

Retorna o primeiro registro não NULL em um fluxo de dados.

LAST_VALUE

Retorna o último registro não NULL em um fluxo de dados.