WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Utilizando os Operadores Numéricos com Valores de Data/Hora

Os exemplos a seguir mostram o ESQL que é possível codificar para manipular valores data/hora com operadores numéricos.

Incluindo um Intervalo a um Valor de Data/Hora
A operação mais simples que você pode executar é incluir um intervalo ou subtrair um intervalo de um valor data/hora. Por exemplo, você pode gravar as seguintes expressões:
DATE '2000-03-29' + INTERVAL '1' MONTH
TIMESTAMP '1999-12-31 23:59:59' + INTERVAL '1' SECOND

O exemplo a seguir mostra como calcular uma data de aposentadoria, incluindo a idade de aposentadoria na data de nascimento.

DECLARE retAge CHARACTER '65';
DECLARE birthDate DATE DATE '1953-06-01';

SET OutputRoot.XML.Test.retirementDate = birthDate + CAST(retAge AS INTERVAL YEAR);

A repetição da palavra DATE no exemplo acima é intencional. A primeira ocorrência de DATE especifica o tipo de dados da variável declarada, birthDate. A segunda ocorrência inicializa a mesma variável com a cadeia de caracteres constante que está entre aspas simples como uma DATE.

Incluindo ou Subtraindo Dois Intervalos
É possível combinar dois valores de intervalo usando adição ou subtração. Os dois valores de intervalos devem ser tipos compatíveis. Não é válido incluir um intervalo ano-mês em um intervalo dia-segundo conforme mostrado no exemplo a seguir:
INTERVAL '1-06' YEAR TO MONTH + INTERVAL '20' DAY

O qualificador do intervalo resultante é suficiente para englobar todos os campos que estão presentes nos intervalos de dois operandos. Por exemplo:

INTERVAL '2 01' DAY TO HOUR + INTERVAL '123:59' MINUTE TO SECOND

resulta em um intervalo com um qualificador DAY TO SECOND, porque os campos de dia e de segundo estão presentes em pelo menos um dos valores de operandos.

Subtraindo Dois Valores de Data/Hora
É possível subtrair dois valores data/hora para retornar um intervalo. Você deve incluir um qualificador de intervalo na expressão para indicar a precisão com a qual o resultado deve ser retornado. Por exemplo:
(CURRENT_DATE - DATE '1776-07-04') DAY

retorna o número de dias desde 4 de julho de 1776, enquanto:

(CURRENT_TIME - TIME '00:00:00') MINUTE TO SECOND

retorna a duração do dia em minutos e segundos.

Escalando Intervalos
É possível multiplicar ou dividir um valor de intervalo por um fator inteiro:
INTERVAL '2:30' MINUTE TO SECOND / 4
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:23


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ac16750_