Funções de expressão
Última atualização: 28/10/2026Use funções para transformar valores de linha, tratar dados ausentes ou recuperar valores relacionados ao criar expressões. Para obter detalhes, consulte Construindo expressões.
As funções abaixo descrevem expressões de tarefas de movimentação em tarefas de aterrisagem gerenciadas por SaaS, aterrisagem em lake e replicação. Use a assinatura da função exibida no seu editor. Colchetes em assinaturas indicam argumentos opcionais; não insira os colchetes.
Para funções de CDC Storage e Streaming Transform, consulte Funções de transformação. Para expressões de armazenamento, transformação e data mart executadas em uma plataforma de dados na nuvem, use a sintaxe de função dessa plataforma.
Funções de string
Funções de prefixo e sufixo atuam no início ou no fim de uma string. A substituição de caracteres atua em caracteres individuais em vez de corresponder a um prefixo ou sufixo inteiro.
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$CONCAT(X, Y)
|
Une as duas strings X e Y, nessa ordem. Retorna NULL se qualquer um dos argumentos for NULL. Aninhe chamadas para unir mais de duas strings. |
$CONCAT('My', 'Picture') retorna 'MyPicture'. $CONCAT('My', NULL) retorna NULL. |
$INSTR(string, substring)
|
Retorna a posição baseada em 1 da primeira ocorrência de substring em string. Retorna 0 se a substring não for encontrada. |
$INSTR('mystring', 'ing') retorna 6. $INSTR('mystring', 'xyz') retorna 0. |
$LENGTH(string)
|
Retorna o número de caracteres em string, não o seu tamanho em bytes. |
$LENGTH('mystring') retorna 8. |
$LOWER(string)
|
Retorna uma cópia de string com letras ASCII convertidas para minúsculas. |
$LOWER('ABC') retorna 'abc'. |
$LTRIM(string[, characters])
|
Remove caracteres do início de string. O argumento opcional characters é um conjunto de caracteres a serem removidos, não um prefixo. Se omitido, remove os espaços. |
$LTRIM(' orders') retorna 'orders'. $LTRIM('@@orders', '@') retorna 'orders'. |
$REMOVE_PREFIX(string, prefix)
|
Retorna uma cópia de string com o prefix inicial especificado removido. |
$REMOVE_PREFIX('mystring', 'my') retorna 'string'. |
$REMOVE_SUFFIX(string, suffix)
|
Retorna uma cópia de string com o final especificado suffix removido. |
$REMOVE_SUFFIX('mystring', 'ing') retorna 'mystr'. |
$REPLACE(string, pattern, replacement)
|
Substitui cada ocorrência de pattern em string por replacement. Todos os três argumentos são obrigatórios. Use uma string de substituição vazia para remover o texto correspondente. |
$REPLACE('a-b-c', '-', '_') retorna 'a_b_c'. $REPLACE('a-b', '-', '') retorna 'ab'. |
$REPLACE_CHARS(string, chars, replacement)
|
Substitui cada caractere listado em chars pelo caractere na mesma posição em replacement. Caracteres não listados permanecem inalterados. Se uma posição de substituição estiver ausente, o primeiro caractere de substituição será usado. |
$REPLACE_CHARS('mystring', 's', 'z') retorna 'myztring'. $REPLACE_CHARS('abcde', 'abcd', '123') retorna '1231e'. |
$REPLACE_PREFIX(string, prefix, replacement)
|
Substitui o prefix inicial em string por replacement. |
$REPLACE_PREFIX('mystring', 'my', 'new') retorna 'newstring'. |
$REPLACE_SUFFIX(string, suffix, replacement)
|
Substitui o suffix final em string por replacement, em vez de substituir todas as ocorrências. |
$REPLACE_SUFFIX('mystring', 'ing', 'new') retorna 'mystrnew'. |
$RTRIM(string[, characters])
|
Remove caracteres do final de string. O argumento opcional characters é um conjunto de caracteres a serem removidos, não um sufixo. Se omitido, remove os espaços. |
$RTRIM('orders ') retorna 'orders'. $RTRIM('orders@@', '@') retorna 'orders'. |
$SUBSTR(string, start[, length])
|
Extrai texto de string, começando na posição baseada em um start. length especifica o número de caracteres. Se omitido, retorna os caracteres restantes. |
$SUBSTR('abcdef', 2, 3) retorna 'bcd'. |
$TRIM(string[, characters])
|
Remove caracteres de ambas as extremidades de string. O argumento opcional characters é um conjunto de caracteres a serem removidos, não uma substring. Se omitido, remove os espaços. |
$TRIM(' orders ') retorna 'orders'. $TRIM('@#orders#@', '@#') retorna 'orders'. |
$UNICODE(string)
|
Retorna o ponto de código Unicode numérico do primeiro caractere em string. O argumento deve ser uma string. |
$UNICODE('ABC') retorna 65. |
$UPPER(string)
|
Retorna uma cópia de string com as letras ASCII convertidas para maiúsculas. |
$UPPER('abc') retorna 'ABC'. |
Funções numéricas
Use estas funções para calcular valores numéricos para a linha atual. $MAX e $MIN comparam argumentos dentro da linha, não valores entre linhas.
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$ABS(X)
|
Retorna o valor absoluto do argumento numérico X. |
$ABS(-20) retorna 20. |
$MAX(arg1, arg2, ...)
|
Retorna o maior valor entre os argumentos numéricos fornecidos. Forneça pelo menos dois argumentos. | $MAX(10, 4, 20, 9) retorna 20. |
$MIN(arg1, arg2, ...)
|
Retorna o menor valor entre os argumentos numéricos fornecidos. Forneça pelo menos dois argumentos. | $MIN(10, 4, 20, 9) retorna 4. |
$RANDOM()
|
Retorna um número inteiro com sinal pseudoaleatório. Não aceita argumentos. | $RANDOM() retorna um número inteiro que pode ser negativo, zero ou positivo. Seu valor varia entre chamadas. |
$ROUND(value[, digits])
|
Arredonda value para digits casas decimais e retorna um valor de ponto flutuante. Se digits for omitido, arredonda para zero casas decimais. |
$ROUND(3.141592, 3) retorna 3.142. |
Funções LOB
Estas funções trabalham com objetos binários grandes (BLOBs). O argumento de tamanho N especifica bytes, não caracteres.
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$HEX(blob)
|
Retorna texto hexadecimal em maiúsculas representando os bytes de blob. A entrada numérica é primeiro convertida em texto; o resultado não é a representação de máquina do número. |
$HEX(X'4142') retorna '4142'. |
$RANDOM_BLOB(N)
|
Retorna N bytes pseudoaleatórios. Se N for menor que 1, retorna um byte. Não utilize esta função como garantia de aleatoriedade criptográfica. |
$RANDOM_BLOB(4) retorna um BLOB de quatro bytes. Seu valor varia entre chamadas. |
$ZERO_BLOB(N)
|
Retorna um BLOB contendo N bytes zero. |
$HEX($ZERO_BLOB(3)) retorna '000000'. |
Funções de verificação de nulo
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$COALESCE(X, Y, ...)
|
Retorna o primeiro argumento não NULL, na ordem dos argumentos. Forneça pelo menos dois argumentos. Se todos os argumentos forem NULL, o resultado será NULL. Uma string vazia não é NULL. | $COALESCE(NULL, 'Unknown') retorna 'Unknown'. $COALESCE('', 'Unknown') retorna uma string vazia. |
$IFNULL(X, Y)
|
Retorna X se não for NULL; caso contrário, retorna Y. Retorna NULL se ambos os argumentos forem NULL. Forneça exatamente dois argumentos. |
$IFNULL(NULL, 'Unknown') retorna 'Unknown'. $IFNULL('Known', 'Unknown') retorna 'Known'. |
$NULLIF(X, Y)
|
Retorna NULL se X e Y forem iguais; caso contrário, retorna X. Forneça exatamente dois argumentos. |
$NULLIF('Unknown', 'Unknown') retorna NULL. $NULLIF('Known', 'Unknown') retorna 'Known'. |
Funções de data e hora
Forneça uma string de data, hora ou data/hora como '2026-10-08', '12:34:56' ou '2026-10-08 12:34:56'. Mantenha as constantes de data entre aspas para que os hifens não sejam interpretados como subtração.
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$DATE(date_string)
|
Retorna a data de date_string como texto no formato YYYY-MM-DD. |
$DATE('2026-10-08') retorna '2026-10-08'. |
$DATETIME(datetime_string)
|
Retorna a data e hora de datetime_string como texto no formato YYYY-MM-DD HH:MM:SS stock. |
$DATETIME('2026-10-08 12:34:56') retorna '2026-10-08 12:34:56'. |
$JULIANDAY(datetime_string)
|
Retorna dias fracionários desde o meio-dia em Greenwich em 24 de novembro de 4714 a.C. Subtraia dois valores de dia juliano para calcular o número de dias decorridos. | $JULIANDAY('2000-01-01 12:00:00') retorna 2451545.0. $JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08') retorna 1.0. |
$STRFTIME(format, datetime_string)
|
Retorna o texto formatado usando format. O formato vem antes da entrada de data ou data e hora. |
$STRFTIME('%Y-%m', '2026-10-08') retorna '2026-10'. |
$TIME(time_string)
|
Retorna a hora de time_string como texto no formato HH:MM:SS. |
$TIME('12:34:56') retorna '12:34:56'. |
Substituições de formato
Combine as seguintes substituições com separadores literais em $STRFTIME. Por exemplo, '%Y-%m-%d %H:%M:%S' formata tanto a data quanto a hora. Uma substituição não suportada retorna NULL.
| Substituição | Significado |
|---|---|
%d
|
Dia do mês, 01-31. |
%H
|
Hora, 00-24. |
%f
|
Segundos com parte fracionária, SS.SSS. |
%j
|
Dia do ano, 001-366. |
%J
|
Número do dia juliano. |
%m
|
Mês, 01-12. |
%M
|
Minuto, 00-59. |
%s
|
Segundos desde 1 de janeiro de 1970, 00:00:00 UTC. |
%S
|
Segundos, 00-59. |
%w
|
Dia da semana, 0-6; domingo é 0. |
%W
|
Semana do ano, 00-53; as semanas começam na segunda-feira. |
%Y
|
Ano, 0000-9999. |
%%
|
Um sinal de porcentagem literal. |
Funções de enriquecimento de dados
Use uma pesquisa para adicionar um valor relacionado, como o nome de um departamento, a partir de uma tabela no endpoint de origem ou de destino.
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Recupera o valor de expression do table do endpoint de origem, em schema, para o registro que corresponde a condition. Os parâmetros da condição fornecem valores para seus marcadores de posição em ordem. |
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID) recupera o nome do departamento correspondente da origem. |
$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Recupera o valor de expression do table do endpoint de destino, em schema, para o registro que corresponde a condition. Os parâmetros da condição fornecem valores para seus marcadores de posição em ordem. |
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID) recupera o nome do departamento correspondente do destino. |
condition_params representa uma lista de argumentos separados por vírgula, não um único argumento de array. Ambas as funções usam os seguintes parâmetros:
| Parâmetro | Significado |
|---|---|
time_to_live
|
Tempo de vida do cache obrigatório, sem valor padrão. Informe o tempo de vida do cache em segundos, Tempos de vida curtos atualizam dados que mudam com frequência. Tempos de vida mais longos reduzem as consultas ao endpoint, mas podem retornar valores em cache após a alteração dos dados de pesquisa. Use sem expiração apenas para dados que não mudam. |
schema
|
Esquema contendo a tabela de pesquisa, fornecido como texto. |
table
|
Tabela a ser consultada dentro desse esquema, fornecida como texto. |
expression
|
Expressão SQL que seleciona o valor de uma coluna, como 'DEPARTMENT_NAME' ou 'PRICE * 1.2'. Use o dialeto SQL do endpoint que está sendo acessado, e não a sintaxe de função da expressão externa. |
condition
|
Condição SQL que identifica o registro de pesquisa. Use o dialeto e a sintaxe de placeholder do endpoint acessado: por exemplo, :1 e :2 para Oracle, ou ? para Microsoft SQL Server. |
condition_params
|
Valores vinculados aos espaços reservados da condição, em ordem. Parâmetros de coluna como $COMPANY_ID e $DEPARTMENT_ID fornecem valores da linha atual. |
Indexe os campos de pesquisa para reduzir o custo da consulta. Selecione uma condição que identifique o registro desejado e defina o tipo de dados da coluna adicionada para corresponder ao valor selecionado.
$SOURCE_LOOKUP e $TARGET_LOOKUP não é suportado. Consulte Testando expressões.Exemplo de pesquisa de origem
Para uma origem Oracle, a seguinte expressão recupera DEPARTMENT_NAME de HR.DEPARTMENTS e armazena o resultado em cache por 60 segundos:
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
Se a linha atual tiver DEPARTMENT_ID 10 e o registro de pesquisa correspondente contiver 'Sales', o resultado será 'Sales'.
Para uma origem do Microsoft SQL Server, use sua sintaxe de marcador de posição de condição. Este exemplo vincula os valores de empresa e departamento nessa ordem:
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
Exemplo de consulta de destino
Para um destino do Microsoft SQL Server, consulte a tabela de destino usando seu dialeto SQL:
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
Se o registro de pesquisa de destino para o departamento 10 contiver 'Sales', o resultado para um valor de entrada de 10 é 'Sales'.
Funções de operação
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)
|
Retorna o sinalizador que você especificar para cada operação de origem. A ordem dos argumentos é delete, update e, em seguida, insert. Use uma coluna dedicada para armazenar os sinalizadores e forneça valores de sinalizador que correspondam ao seu tipo de dados. | $OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted') retorna 'Updated' para uma atualização. |
No Qlik Replicate, esta função também altera o tratamento de exclusão: ela retém o registro de destino correspondente e o sinaliza com value_on_delete. Este comportamento de tratamento de exclusão requer confirmação para o Qlik Talend Cloud Data Integration.
Funções lógicas
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$IFF(boolean_expression, true_value, false_value)
|
Retorna true_value se boolean_expression for avaliado como verdadeiro; caso contrário, retorna false_value. Forneça a condição primeiro, seguida pelos dois valores de resultado. |
$IFF(10 > 5, 'High', 'Low') retorna 'High'. $IFF(3 > 5, 'High', 'Low') retorna 'Low'. |
Outras funções
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$LIKE(pattern, string[, escape_character])
|
Retorna 1 para uma correspondência ou 0 para nenhuma correspondência; uma entrada NULL produz NULL. % corresponde a zero ou mais caracteres; _ corresponde a um. A correspondência ignora maiúsculas e minúsculas ASCII por padrão. O escape opcional é de um caractere. O padrão vem primeiro, ao contrário do operador LIKE. |
$LIKE('A%', 'Alice') retorna 1. $LIKE('10!%', '10%', '!') retorna 1. |
$TYPEOF(expression)
|
Retorna a classe de armazenamento do valor: 'null', 'integer', 'real', 'text' ou 'blob'. Este não é o tipo de coluna de saída configurado. |
$TYPEOF(12.5) retorna 'real'. |
Funções hash
| Função | Comportamento e argumentos | Exemplo e resultado |
|---|---|---|
$SHA256(string)
|
Retorna o hash hexadecimal SHA-256 da string de entrada. | $SHA256('abc') retorna ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. |
Um hash não é criptografia. Valores de entrada previsíveis ainda podem ser identificados comparando seus hashes.