Calculando um Intervalo de Tempo

Esse exemplo de ESQL calcula o intervalo de tempo desde quando uma mensagem de entrada do é colocada na fila de entrada até o momento em que ela é processada no nó Compute atual.

(Quando você faz uma chamada para a função de data/hora CURRENT_, o valor retornado é idêntico ao valor retornado a outra chamada no mesmo nó. Isso assegura que você possa utilizar a função consistentemente dentro de um único nó.)

 CALL CopyMessageHeaders();
 Declare PutTime INTERVAL;

 SET PutTime = (CURRENT_GMTTIME - InputRoot.MQMD.PutTime) MINUTE TO SECOND;
 
 SET OutputRoot.XML.Test.PutTime = PutTime;

A mensagem de saída possui o formato (embora os valores reais sejam variados):

<Test>
 <PutTime>INTERVAL &apos;1:21.862&apos; MINUTE TO SECOND</PutTime>
</Test>

Conceitos relacionados
Fluxos de Mensagem
Mapeamentos

Tarefas relacionadas
Desenvolvendo Aplicativos do Fluxo de Mensagens
Desenvolvendo ESQL
Utilizando os Operadores Numéricos com Valores de Data/Hora

Referências relacionadas
Nós Internos
ESQL
Tipo de Dados ESQL INTERVAL
Operadores Numéricos ESQL
Regras para Precedência de Operadores ESQL