A ferramenta de edição de query permite usar funções avançadas para fazer filtragens complexas. Para fazer isso, a paleta de ferramentas contém o elemento Expression que pode ser usado no espaço de trabalho. Informações adicionais sobre esse elemento estão detalhadas em uma seção específica.
Esse elemento permite inserir as condições manualmente. Aqui, você pode usar as funções definidas nas seções a seguir.
Vários tipos de função estão disponíveis, dependendo dos resultados desejados e dos tipos de dados manipulados:
Funções adicionais estão disponíveis em todas as atividades que permitem usar variáveis de eventos depois de chamar um workflow com parâmetros externos. Eles são detalhados nesta seção.
As funções de data são usadas para manipular valores de data ou hora.
Nome |
Descrição |
Sintaxe |
AddDays |
Adiciona um número de dias a uma data |
AddDays(<data>, <número>) |
AddHours |
Adiciona um número de horas a uma data |
AddHours(<data>, <número>) |
AddMinutes |
Adiciona um número de minutos a uma data |
AddMinutes(<data>, <número>) |
AddMonths |
Adiciona um número de meses a uma data |
AddMonths(<data>, <número>) |
AddSeconds |
Adiciona um número de segundos a uma data |
AddSeconds(<data>, <número>) |
AddYears |
Adiciona um número de anos a uma data |
AddYears(<data>, <número>) |
DateOnly |
Retorna somente a data (com a hora 00:00) |
DateOnly(<data>) |
Day |
Retorna o número que representa o dia da data |
Day(<data>) |
DayOfYear |
Retorna o número que representa o dia no ano da data |
DayOfYear(<data>) |
DaysAgo |
Retorna a data atual menos n dias |
DaysAgo(<número>) |
DaysAgoInt |
Retorna a data atual menos n dias (como um número inteiro yyyymmdd) |
DaysAgoInt(<número>) |
DaysDiff |
Número de dias entre duas datas |
DaysDiff(<data final>, <data inicial>) |
DaysOld |
Retorna a idade em dias de uma data. |
DaysOld(<data>) |
GetDate |
Retorna a data atual do sistema do servidor. |
GetDate() |
Hour |
Retorna a hora da data. |
Hour(<data>) |
HoursDiff |
Retorna o número de horas entre duas datas |
HoursDiff(<data final>, <data inicial>) |
LocalToUTC |
Converte uma data e hora locais em UTC |
LocalToUTC(<data>, <Fuso horário>) |
Minute |
Retorna os minutos da data |
Minute(<data>) |
MinutesDiff |
Retorna o número de minutos entre duas datas |
MinutesDiff(<data final>, <data inicial>) |
Month |
Retorna o número que representa o mês da data |
Month(<data>) |
MonthsAgo |
Retorna a data correspondente à data atual menos n meses |
MonthsAgo(<número>) |
MonthsDiff |
Retorna o número de meses entre duas datas |
MonthsDiff(<data final>, <data inicial>) |
MonthsOld |
Retorna a idade em meses de uma data |
MonthsOld(<data>) |
Second |
Retorna os segundos da data |
Second(<data>) |
Oldest |
Retorna a data mais antiga | Oldest(<Data>, <Data>) |
SecondsDiff |
Retorna o número de segundos entre duas datas |
SecondsDiff(<data final>, <data inicial>) |
SubDays |
Subtrai um número de dias a partir de uma data |
SubDays(<data>, <número>) |
SubHours |
Subtrai um número de horas a partir de uma data |
SubHours(<data>, <número>) |
SubMinutes |
Subtrai um número de minutos de uma data |
SubMinutes(<data>, <número>) |
SubMonths |
Subtrai um número de meses a partir de uma data |
SubMonths(<data>, <número>) |
SubSeconds |
Subtrai um número de segundos a partir de uma data |
SubSeconds(<data>, <número>) |
SubYears |
Subtrai um número de anos a partir de uma data |
SubYears(<data>, <número>) |
ToDate |
Converte uma data + hora em uma data |
ToDate(<data + hora>) |
ToDateTime |
Converte uma string em uma data + hora |
ToDateTime(<string>) |
ToDateTimeWithTimezone |
Converte uma string em uma data + fuso horário. Exemplo: ToDateTimeWithTimezone ("19-02-2019 08:09:00", "Ásia/Teerão") |
ToDateTimeWithTimezone(<string>) |
TruncDate |
Arredonda uma data e hora para o segundo mais próximo |
TruncDate(@lastModified, <número de segundos>) |
TruncDateTZ |
Arredonda uma data e hora para uma determinada precisão expressa em segundos |
TruncDateTZ(<data>, <número de segundos>, <fuso horário>) |
TruncQuarter |
Arredonda uma data para o trimestre |
TruncQuarter(<data>) |
TruncTime |
Arredonda a parte de horário para cima até o próximo segundo |
TruncTime(<data>, <número de segundos>) |
TruncWeek |
Arredonda uma data para a semana |
TruncWeek(<data>) |
TruncYear |
Arredonda uma data + hora para 1º de janeiro do ano |
TruncYear(<data>) |
WeekDay |
Retorna o número que representa o dia na semana da data |
WeekDay(<data>) |
Year |
Retorna o número que representa o ano da data |
Year(<data>) |
YearAnd Month |
Retorna o número que representa o ano e o mês da data. |
YearAndMonth(<data>) |
YearsDiff |
Retorna o número de anos entre as duas datas |
YearsDiff(<data final>, <data inicial>) |
YearsOld |
Retorna a idade em anos de uma data |
YearsOld(<data>) |
As funções de geomarketing são usadas para manipular valores geográficos.
Nome |
Descrição |
Sintaxe |
Distance |
Retorna a distância em quilômetros entre dois pontos definidos por sua longitude e latitude (expressa em graus) |
Distance(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>) |
As funções de valor numérico são usadas para converter texto em números.
Nome |
Descrição |
Sintaxe |
Abs |
Retorna o valor absoluto de um número |
Abs(<número>) |
Ceil |
Retorna o número inteiro mais baixo maior ou igual a um número |
Ceil(<número>) |
Floor |
Retorna o maior inteiro menor que ou igual a um número |
Floor(<número>) |
Greatest |
Retorna o maior número de dois números |
Greatest(<número 1>, <número 2>) |
Least |
Retorna o menor de dois números |
Least(<número 1>, <número 2>) |
Mod |
Retorna o resto da divisão do número inteiro de n1 por n2 |
Mod(<número 1>, <número 2>) |
Percent |
Retorna a proporção de dois números expressos como uma porcentagem |
Percent(<número 1>, <número 2>) |
Random |
Retorna o valor aleatório |
Random() |
Round |
Arredonda um número para decimais n |
Round(<número>, <número de decimais>) |
Sign |
Retorna o sinal do número |
Sign(<número>) |
ToDouble |
Converte um inteiro em um flutuante |
ToDouble(<número>) |
ToInt64 |
Converte um flutuante em um inteiro de 64 bits |
ToInt64(<número>) |
ToInteger |
Converte um flutuante em um inteiro |
ToInteger(<número>) |
Trunc |
Corta o n1 para o decimal n2 |
Trunc(<n1>, <n2>) |
Esta tabela contém as funções restantes disponíveis.
Nome |
Descrição |
Sintaxe |
Case |
Retorna o valor 1 quando a condição é verificada. Caso contrário, retorna o valor 2 |
Case(When(<condição>, <valor 1>), Else(<valor 2>)) |
ClearBit |
Exclui o Sinalizador no valor |
ClearBit(<identificador>, <sinalizador>) |
Coalesce |
Retorna o valor 2 se o valor 1 for zero ou nulo, caso contrário retorna o valor 1 |
Coalesce(<valor 1>, <valor 2>) |
Decode |
Retorna o valor 3 quando valor 1 = valor 2; caso contrário, retorna 4 |
Decode(<valor 1>, <valor 2>, <valor 3>, <valor 4>) |
Else |
Retorna o valor 1 (só pode ser usado como parâmetro da função case) |
Else(<valor 1>) |
GetEmailDomain |
Extrai o domínio de um endereço de email |
GetEmailDomain(<valor>) |
GetMirrorURL |
Recupera o URL do servidor da mirror page |
GetMirrorURL(<valor>) |
Iif |
Retorna o valor 1 quando a expressão é verdadeira; caso contrário, retorna o valor 2 |
Iif(<condição>, <valor 1>, <valor 2>) |
IsBitSet |
Indica se o Sinalizador está no valor |
IsBitSet(<identificador>, <sinalizador>) |
IsEmptyString |
Retorna o valor 2 quando a string está vazia; caso contrário, retorna o valor 3 |
IsEmptyString(<cadeia de caracteres>, <valor 2>, <valor 3>) |
NoNull |
Retorna a string vazia se o argumento for NULL. |
NoNull(<valor>) |
RowId |
Retorna o número da linha. |
RowId |
SetBit |
Força o Sinalizador no valor. |
SetBit(<identificador>, <sinalizador>) |
ToBoolean |
Converte um número em um booleano |
ToBoolean(<número>) |
When |
Retorna o valor 1 quando a expressão é verificada. Caso contrário, retorna o valor 2 (só pode ser usado como parâmetro da função case) |
When(<condição>, <valor 1>) |
newUUID |
Retorna um novo UUID. |
newUUID |
As funções de string são usadas para manipular um conjunto de strings.
Nome |
Descrição |
Sintaxe |
AllNonNull2 |
Indica se todos os parâmetros são não nulos e não estão vazios |
AllNonNull2(<string>, <string>) |
AllNonNull3 |
Indica se todos os parâmetros são não nulos e não estão vazios |
AllNonNull3(string>, <string>, <string>) |
ASCII |
Retorna o valor ASCII do primeiro caractere na string |
Ascii(<string>) |
Char |
Retorna o caractere correspondente ao código ASCII 'n' |
Char(<número>) |
Charindex |
Retorna a posição da string 2 na string 1 |
Charindex(<string>, <string>) |
DataLength |
Retorna o número de caracteres em uma string |
DataLength(<Cadeia de caracteres>) |
GetLine |
Retorna a linha enésima (de 1 a n) da string |
GetLine(<string>) |
IfEquals |
Retorna o terceiro parâmetro quando os dois primeiros parâmetros são iguais; caso contrário, retorna o último parâmetro |
IfEquals(<string>, <string>, <string>, <string>) |
IsMemoNull |
Indica se o memorando passado como parâmetro é nulo |
IsMemoNull(<Memorando>) |
JuxtWords |
Concatena as duas strings transmitidas como parâmetros. Um espaço é adicionado entre cada string no valor retornado. |
JuxtWords(<string>, <string>) |
JuxtWords3 |
Concatena as três strings transmitidas como parâmetros. Um espaço é adicionado entre cada string no valor retornado. |
JuxtWords3(<string>, <string>, <string>) |
LPad |
Retorna a cadeira de caracteres concluída à esquerda |
LPad(<string>, <número>, <caractere>) |
Left |
Retorna os primeiros n caracteres da cadeira de caracteres |
Left(<string>, <número>) |
Length |
Retorna o tamanho da string |
Length(<string>) |
Lower |
Retorna a cadeira de caracteres em minúsculas |
Lower(<string>) |
Ltrim |
Remove espaços à esquerda da cadeira de caracteres |
Ltrim(<string>) |
Md5Digest |
Retorna uma representação hexadecimal da chave MD5 de uma cadeira de caracteres |
Md5Digest(<string>) |
MemoContains |
Especifica se o memorando contém a cadeira de caracteres aprovada como um parâmetro |
MemoContains(<memorando>, <string>) |
RPad |
Retorna a cadeira de caracteres concluída à direita |
RPad(<string>, <número>, <caractere>) |
Replace |
Substitui todas as ocorrências de um valor de string especificado (segundo parâmetro) por outro valor de string (terceiro parâmetro) em uma string (primeiro parâmetro) |
Replace(<Cadeia de caracteres>, <Cadeia de caracteres>, <Cadeia de caracteres>) |
Right |
Retorna os últimos n caracteres da string |
Right(<string>) |
Rtrim |
Remove espaços à direita da cadeira de caracteres |
Rtrim(<string>) |
Sha256Digest |
Calcula o hash SHA256 padrão para uma determinada string UTF8 |
Sha256Digest(<Cadeia de caracteres>) |
Sha384Digest |
Calcula o hash SHA384 padrão para uma determinada string UTF8 |
Sha384Digest(<Cadeia de caracteres>) |
Sha512Digest |
Calcula o hash SHA512 padrão para uma determinada string UTF8 |
Sha512Digest(<Cadeia de caracteres>) |
Smart |
Retorna a cadeira de caracteres com a primeira letra de cada palavra em maiúsculas |
Smart(<string>) |
Substring |
Extrai a substring, começando no caractere n1 da string e com comprimento de n2 |
Substring(<cadeia de caracteres>, <deslocamento>, <comprimento>) |
ToIntlString |
Converte o número em uma string |
ToIntlString(<número>) |
ToString |
Converte o número em uma string |
ToString(<número>) |
Upper |
Retorna a string em maiúsculas |
Upper(<string>) |
VirtualLink |
Retorna a chave externa de um link passado como um parâmetro se os outros dois parâmetros forem iguais |
VirtualLink(<número>, <número>, <número>) |
VirtualLinkStr |
Retorna a chave externa (texto) de um link passado como um parâmetro se os outros dois parâmetros forem iguais |
VirtualLinkStr(<string>, <número>, <número>) |
encryption_aescbcDecrypt |
Descriptografa um valor criptografado no formato HEX com o prefixo "x" (primeiro parâmetro) usando uma chave no formato HEX (segundo parâmetro) e um vetor de inicialização no formato HEX (terceiro parâmetro) |
encryption_aescbcDecrypt(<Cadeia de caracteres>, <Cadeia de caracteres>, <Cadeia de caracteres>) |
encryption_aescbcEncrypt |
Criptografa usando o algoritmo AES (modo de bloco CBC) uma string de caracteres (primeiro parâmetro) com uma chave (segundo parâmetro) e um vetor de inicialização (terceiro parâmetro). A chave e o vetor de inicialização devem ser fornecidos em uma representação hexadecimal (começando com \x). O resultado será hexadecimal sem o \x. Observe que o tamanho da chave pode ser de 128 bits, 192 bits, 256 bits (16, 24, 32 caracteres hexadecimais), mas recomendamos que você use 256 bits e um IV aleatório com o mesmo comprimento da chave. |
encryption_aescbcEncrypt()<string>, <string>, <string>) Por exemplo: encryption_aescbcEncrypt(johndoe@example.com, "\\ x0123456789ABCDEF0123456789ABCDEF", "\\ x0123456789ABCDEFFEDCBA9876543210") |
As funções de agregação só estão disponíveis ao adicionar dados adicionais atividade Query de um workflow.
As funções de agregação são usadas para realizar cálculos em um conjunto de valores.
Nome |
Descrição |
Sintaxe |
Avg, Average |
Retorna a média em uma coluna numérica. |
Avg(<valor>) |
Count, Contagem (exceto NULL) |
Conta os valores não nulos em uma coluna. |
Count(<valor>) |
CountAll, Contar todos |
Conta todos os valores (incluindo valores e duplicados nulos). |
CountAll() |
Countdistinct, Distinct count |
Conta os valores não nulos e distintos de uma coluna. |
Countdistinct(<valor>) |
Max, Máx |
Retorna o valor máximo de uma coluna numérica, de string ou de data. |
Max(<valor>) |
Min, Mín |
Retorna o valor mínimo de uma coluna numérica, de string ou de data. |
Min(<valor>) |
StringAgg, Agregado de sequência |
Retorna a concatenação dos valores de uma coluna do tipo string, separados pelo caractere no segundo argumento (o separador padrão é vírgula). |
StringAgg(<string values="">,<separator>) |
Sum, Soma |
Retorna a soma dos valores em uma coluna numérica. |
Sum(<valor>) |
As funções de representação são usadas para ordenar valores.
Nome |
Descrição |
Sintaxe |
Desc |
Aplica uma classificação decrescente |
Desc(<valor 1>) |
OrderBy |
Classifica o resultado dentro da partição |
OrderBy(<valor 1>) |
PartitionBy |
Partições do resultado de um query em uma tabela |
PartitionBy(<valor 1>) |
RowNum |
Gera um número de linha com base na partição da tabela e em uma sequência de classificação. Esta função não tem suporte para o MySQL |
RowNum(PartitionBy(<valor 1>), OrderBy(<valor 1>)) |